Das date Object
dennis_b
- javascript
Hallo leute,
ich habe mal ne frage:
Wenn ich dem Date-Object ein Falsches Datum übergebe z.b 32.12.2006
wandelt das date object das Datum ja um auf 01.01.2007.
Soweit so gut, aber was wichtig ist und ich mich gerade frage,
gibt das Date object bevor es das Datum Korigiert evtl ein wert aus
z.b false? Und bei einem Korektem Datum evtl True?
Wenn ja, wie kann ich das abfangen?
Danke für alles die Helfen können und wollen
MfG
Dennis_b
ich habe mal ne frage:
Wenn ich dem Date-Object ein Falsches Datum übergebe z.b 32.12.2006
wandelt das date object das Datum ja um auf 01.01.2007.
Bei dir? Bei mir nicht:
var d = new Date("32.12.2006")
alert(d);
Struppi.
Ne, aber so.Habe getestet wenn man ne eingabe splittet und dan dem Date übergibt, hier ein kleiner auschnitt:
function test() {
Zahlen="32.05.2006";
splitten=Zahlen.split(".");
datum=new Date(splitten[2],splitten[1],splitten[0]);
alert(datum);
}
Ne, aber so.Habe getestet wenn man ne eingabe splittet und dan dem Date übergibt, hier ein kleiner auschnitt:
Ich teste solch einen String mit folgender Funktion:
function string2date(string)
{
if(!string) return null;
string += '';
string = string.replace(/[-/]/g, '.'); // Trennzeichen normaliesieren
string = string.replace(/[^0-9^\.^\:^ ]/g, ''); // ungültige Zeichen entfernen
var split = string.split(".");
var day = parseInt(split[0], 10);
var month = parseInt(split[1] || 0, 10);
var year = parseInt(split[2] || 0, 10);
if(isNaN(year)) year = getFullYear();
var check = new Date(year, month - 1, day);
var day2 = check.getDate();
var year2 = getFullYear(check);
var month2 = check.getMonth() + 1;
return ( year2 == year && month == month2 && day == day2 ) ? check
: null;
}
function getFullYear(date)
{
if(!date) date = new Date();
if(typeof date.getFullYear != 'undefined') return date.getFullYear();
var year = date.getYear();
if(year < 1000) year += 2000;
return year;
}
Wobei diese nicht den Wert korrigiert.
Struppi.
Ne, aber so.Habe getestet wenn man ne eingabe splittet und dan dem Date übergibt, hier ein kleiner auschnitt:
Ich teste solch einen String mit folgender Funktion:
function string2date(string)
{
if(!string) return null;
string += '';
string = string.replace(/[-/]/g, '.'); // Trennzeichen normaliesieren
string = string.replace(/[^0-9^.^:^ ]/g, ''); // ungültige Zeichen entfernenvar split = string.split(".");
var day = parseInt(split[0], 10);
var month = parseInt(split[1] || 0, 10);
var year = parseInt(split[2] || 0, 10);if(isNaN(year)) year = getFullYear();
var check = new Date(year, month - 1, day);
var day2 = check.getDate();
var year2 = getFullYear(check);
var month2 = check.getMonth() + 1;return ( year2 == year && month == month2 && day == day2 ) ? check
: null;
}
function getFullYear(date)
{
if(!date) date = new Date();
if(typeof date.getFullYear != 'undefined') return date.getFullYear();
var year = date.getYear();
if(year < 1000) year += 2000;
return year;
}
>
> Wobei diese nicht den Wert korrigiert.
> Struppi.
Danke, dein Script ist echt ne alternative...
Wünsche dir ein Schönes Wochenende ..........und thx für deine Hilfe
mfg
dennis\_b
hi,
das hättest du doch auch gut in deinem bestehenden Thread mit Fragen zur Datumsverarbeitung in Javascript unterbringen können.
gruß,
wahsaga