Javascript交换为mm / dd日期,但输入字段为dd / mm

时间:2017-03-31 12:43:11

标签: javascript html twitter-bootstrap date

我有一个带有这个日期字段的bootstrap的html表单:

if(new Date($("#from").val() > new Date($("#to").val()) ....

我需要比较两者以检查“to”是“from”之后的日期,但是当我使用此代码进行比较时:

0

计算错误,因为在引擎盖下它将月份数字与日期数字交换。如何强制它采用dd / mm / yyyy格式(或将输入转换为mm / dd / yyyy)以获得正确的计算? 谢谢。

2 个答案:

答案 0 :(得分:0)

在Javascript中,您可以生成日期为new Date(year,month,day),您需要以这种方式构建日期,然后尝试此操作,

var date = new Date(2010,10,10)
(new Date().getTime() - date.getTime())/ (24 * 60 * 60 * 1000)

在这段代码中,我从当前日期减去日期,只需稍加修改就可以使代码适用。

答案 1 :(得分:0)

您无法使用占位符强制使用日期格式。如果浏览器支持日期,它将被覆盖,具体取决于本地设置,在这种情况下,实际字段值应始终为YYYY-MM-DD格式。这就是Chrome处理该字段的方式。

在这种情况下,它将起作用

var from = new Date($("#from").val());
var to = new Date($("#to").val());
if (from > to) 

其他浏览器(例如Firefox)确实不支持日期字段。它只是像普通的文本输入一样工作。在这种情况下,您需要执行一些字符串操作来分隔值并以Date()期望的方式插入它们: 新日期(YYYY,MM,DD);