Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何知道字符串值是Javascript中日期的一个实例?_Javascript_Date_Typeof_Object Type - Fatal编程技术网

如何知道字符串值是Javascript中日期的一个实例?

如何知道字符串值是Javascript中日期的一个实例?,javascript,date,typeof,object-type,Javascript,Date,Typeof,Object Type,我想检查字符串值是否为日期?我使用以下代码,但不起作用: const date = "2019-12-31T20:30:00+00:00"; if (date instanceof Date) { // date is Date.... } 或 您的第一个条件始终为真,因为您没有将字符串转换为日期。有两种方法可以做到这一点 首先,您可以用给定的字符串构造一个日期对象,并检查日期是否有效 const dateString = '2019-12-31T20:30:00+00:00'; co

我想检查字符串值是否为日期?我使用以下代码,但不起作用:

const date = "2019-12-31T20:30:00+00:00";
if (date instanceof Date) {
    // date is Date....
}


您的第一个条件始终为真,因为您没有将
字符串
转换为
日期
。有两种方法可以做到这一点

首先,您可以用给定的字符串构造一个日期对象,并检查日期是否有效

const dateString = '2019-12-31T20:30:00+00:00';
const date = new Date(dateString);

if(date.toString() !== "Invalid Date") {
    // String is valid date.
} else {
    // String is not valid date.
}
另一种方法是,首先可以检查给定字符串是否为有效日期,然后构造一个日期对象

 const dateString = '2019-12-31T20:30:00+00:00';
 const parsed = Date.parse(dateString);

 if(!isNaN(parsed)) {
     // String is valid date.
     const date = new Date(parsed);
 } else {
     // String is not a valid date.
 }

这回答了你的问题吗?这个怎么样
newdate(dateValue)=“无效日期”
@gorak
新日期(“2020”)!=“无效日期”
但这也是无效的日期字符串。@gorak,
新日期(“2020”)!=“无效日期”
我认为此条件将始终返回“true”,因为类型“Date”和“string”没有overlap@swapnesh是的,知道了。如果我将dateString的值更改为
“1”
,它总是返回true,而它不是有效的日期;看见
 const dateString = '2019-12-31T20:30:00+00:00';
 const parsed = Date.parse(dateString);

 if(!isNaN(parsed)) {
     // String is valid date.
     const date = new Date(parsed);
 } else {
     // String is not a valid date.
 }