使用Javascript进行日期比较
我有两个使用Javascript进行日期比较,javascript,Javascript,我有两个DDMMYYYY格式的日期字符串。说出startdate=“18/02/2013”和enddate=“26/02/2013” 我如何比较这些日期。我希望enddate大于或等于startdate 谢谢您的时间。此解决方案是否适合您的需要(演示:) 请记住,月份以0开头: 月份:表示月份的整数值,从1月的0开始到12月的11 我是一个粉丝,当我必须处理日期和时间时,它是我工具箱的核心部分——尤其是当涉及任何形式的解析或格式化时。 您可以手动进行解析并手动调用适当的日期构造函数,但请考虑下面
DDMMYYYY
格式的日期字符串。说出startdate=“18/02/2013”
和enddate=“26/02/2013”
我如何比较这些日期。我希望enddate
大于或等于startdate
谢谢您的时间。此解决方案是否适合您的需要(演示:) 请记住,月份以0开头: 月份:表示月份的整数值,从1月的0开始到12月的11 <>我是一个粉丝,当我必须处理日期和时间时,它是我工具箱的核心部分——尤其是当涉及任何形式的解析或格式化时。
您可以手动进行解析并手动调用适当的日期构造函数,但请考虑下面的内容,我认为这是简单直观的。
var startDate = moment.parse("18/02/2013", "DD/MM/YYYY");
var endDate = moment.parse("26/02/2013", "DD/MM/YYYY");
if (endDate.isAfter(startDate)) {
// was after ..
}
使用并快乐。签出我建议你远离库来完成像这样的简单任务。我添加了一个演示。请不要注意“-1”,我的答案被疯狂的downvoter击中:)
Date.parse(“18/02/2013”)
这里是NaN的结果。我不确定Date.parse的格式应该是什么,我避免使用它,因为我不知道规范对此有何规定,也不知道存在哪些浏览器/本地化怪癖。(在本地,它似乎正确地解析了Date.parse(“02/18/2013”)
。继续!)一般代码建议:1)避免为不同目的重新使用相同的变量名;2) 避免函数调用参数中的副作用(这里很可能适合索引);3) 自由地使用小函数-@user2864740好吧,在无耻的骗子和疯狂的投票者之后,来了夸夸其谈的老师:嘿,这是个笑话,我只是厌倦了争论显而易见的问题。谢谢你宝贵的建议。
var d1 = Date.parse("18/02/2013");
var d2 = Date.parse("26/02/2013");
if (d1 > d2) {
alert ("do something");
}
var startDate = moment.parse("18/02/2013", "DD/MM/YYYY");
var endDate = moment.parse("26/02/2013", "DD/MM/YYYY");
if (endDate.isAfter(startDate)) {
// was after ..
}