文字列が数字か日付かを調べようとしています。 2016-04-19T23:09:10.208092Z
:文字列が日付か数字かを判断する
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;
};
それはのような日のために働く:
は、ここに私のコードです。 問題は、1
が有効な日付(Wed Dec 31 1969 16:00:00 GMT-0800 (PST)
)となり、isNaN(new Date())
が返信false
(日付は数字)であることです。
このループから抜け出す方法はありますか?
任意の日付形式または特定の形式をテストしますか? –
これ以上のものはありますが、これを選択する必要がある場合は、時刻形式は '2016-04-19T23:09:10.208092Z' – teone
です。この区別を行う必要がある理由はありますか?また、2016年のような「日付」については、これらの有効な日付はどうですか? – mc10