Check if string is date or not in JavaScript
从服务器,我得到对象中的一些值的有效日期,但我不知道我将获得哪个字段的数字以及我将获得日期的哪个字段。
我尝试了这个问题及其答案,它给出了字符串和日期的正确结果,但现在它将数字视为日期。 任何其他解决方案,以避免将数字视为日期?
这个问题是以不同的格式解析日期。 我的问题是关于区分日期和数字字符串。 并且仅对日期字符串执行操作。
我在yyyy-MM-ddThh得到约会:mm:ss + Z.
得到了解决方案
我不需要检查它是否是日期,而是先检查它是否为数字。 如果它不是数字那么只有它可以是日期。
这是我做了什么,它的工作原理。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | var obj={ key1:"2015-10-10T11:15:30+0530", key2:2015, key3:"Normal String" } function parseDate(dateStr){ if(isNaN(dateStr)){ //Checked for numeric var dt=new Date(dateStr); if(isNaN(dt.getTime())){ //Checked for date return dateStr; //Return string if not date. }else{ return dt; //Return date **Can do further operations here. } } else{ return dateStr; //Return string as it is number } } console.log("key1",parseDate(obj.key1)) console.log("key2",parseDate(obj.key2)) console.log("key3",parseDate(obj.key3)) |