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_Datetime - Fatal编程技术网

JavaScript将数字转换为日期以与当前日期进行比较

JavaScript将数字转换为日期以与当前日期进行比较,javascript,date,datetime,Javascript,Date,Datetime,嗨,我一直在做作业的最后一道题,我必须检查今天的日期是否大于数据库中存储为数字的日期。ie今天的日期是16122017 dd mm yy,因为你可以看到它没有空格,也没有“-”或“/”只是一个数字。我可以让todays date将其反转并删除-但是一个简单的不能用于比较,因为它们是数字而不是java日期格式 所以我想我必须在日期中加上-并将其反转,使其在yy-mm-dd,然后将其与当前日期进行比较 有谁能告诉我如何添加-到数字格式中,我可以简单地将它从dd-mm-yy反转回yy-mm-yy,一旦

嗨,我一直在做作业的最后一道题,我必须检查今天的日期是否大于数据库中存储为数字的日期。ie今天的日期是16122017 dd mm yy,因为你可以看到它没有空格,也没有“-”或“/”只是一个数字。我可以让todays date将其反转并删除-但是一个简单的<或>不能用于比较,因为它们是数字而不是java日期格式

所以我想我必须在日期中加上-并将其反转,使其在yy-mm-dd,然后将其与当前日期进行比较

有谁能告诉我如何添加-到数字格式中,我可以简单地将它从dd-mm-yy反转回yy-mm-yy,一旦完成

> c = c.split('-').reverse().join('');
其中,c是包含数字日期的变量。我想一旦它回来了,我就可以做了

如果(c>LocalDate.now()) 或者我需要将其分配给新的日期变量吗


除了使用可以为您转换日期的库之外,如果您确定前两个数字是天,然后是月,然后是年,那么我建议使用好的旧子字符串方法

var day = str.substring(1, 2);
等等。然后根据计算结果创建一个新的日期对象并使用它


如果您的输入没有尾随的零,这会增加问题的复杂性,但没有什么是您无法克服的。

除了使用一个可以为您转换日期的库之外,如果您确定前两个数字是日、月、年,那么我建议使用传统的子字符串方法

var day = str.substring(1, 2);
等等。然后根据计算结果创建一个新的日期对象并使用它


如果您的输入没有尾随的零,这会增加问题的复杂性,但没有什么是您无法克服的。

有一些很酷的附加包,如
moment.js
,可以通过优雅的调用实现这一点。但是,在本机javascript中,您可以使用

vards='16122017'
var myDate=新日期();
myDate.setFullYear(ds.子字符串(4,8),ds.子字符串(2,4)-1,ds.子字符串(0,2));
var today=新日期();
今天。设定时间(0,0,0,0);/*现在变成今天*/
如果(myDate<今天){
/*我的日期在今天之前*/
}

有一些很酷的插件包,比如
moment.js
,可以通过优雅的调用实现这一点。但是,在本机javascript中,您可以使用

vards='16122017'
var myDate=新日期();
myDate.setFullYear(ds.子字符串(4,8),ds.子字符串(2,4)-1,ds.子字符串(0,2));
var today=新日期();
今天。设定时间(0,0,0,0);/*现在变成今天*/
如果(myDate<今天){
/*我的日期在今天之前*/
}

如果分配给不同的变量,则无需将其反转,您可以像这样解析它:
var b='16122017'。match(/(\d\d)(\d\d)(\d{4})/);新日期(b[3],b[2]-1,b[1])
。不要试图将其解析为另一个使用内置解析器的字符串。如果分配给不同的变量,则无需将其反转。您可以像这样解析它:
var b='16122017'。匹配(/(\d\d)(\d\d)(\d{4}/);新日期(b[3],b[2]-1,b[1])
。不要试图将它解析为另一个使用内置解析器的字符串。只需注意,它工作得很好,但子字符串指针的位置很短。myDate.setFullYear(ds.子字符串(4,8),ds.子字符串(2,4)-1,ds.子字符串(0,2));只是一个音符,它工作得很好,但子字符串指针中的一个短。myDate.setFullYear(ds.子字符串(4,8),ds.子字符串(2,4)-1,ds.子字符串(0,2));