Ich versuche festzustellen, ob eine Zeichenfolge eine Zahl oder ein Datum ist.Ermitteln, ob die Zeichenfolge Datum oder Nummer ist
Hier ist mein Code:
this._getFieldFormat = (value) => {
// check if is date
let d = new Date(value);
if (!isNaN(d.getTime())) {
return 'date';
}
// check if is boolean
// isNaN(false) = false, false is a number (0), true is a number (1)
if(typeof value === 'boolean'){
return 'boolean';
}
// check if a string is a number
if(!isNaN(value)){
return 'number';
}
return typeof value;
};
Es funktioniert nach einem Datum wie: 2016-04-19T23:09:10.208092Z
. Das Problem ist, dass 1
ein gültiges Datum (Wed Dec 31 1969 16:00:00 GMT-0800 (PST)
) und isNaN(new Date())
ist false
(ein Datum ist eine Zahl) aussehen.
Irgendeine Idee, wie man aus dieser Schleife herauskommt?
Test irgendein Datumsformat oder ein bestimmtes? –
Jeder wäre besser, aber wenn ich wählen muss, ist das Zeitformat: '2016-04-19T23: 09: 10.208092Z' – teone
Gibt es einen bestimmten Grund, warum diese Unterscheidung gemacht werden muss? Was ist mit "Daten" wie 2016 - sind diese gültigen Daten? – mc10