日期与时间之间的日期
Date between dates with time
http://jsfiddle.net/7vzapm49/1/
var startdatearr = [new Date("04 Dec 2014 14:30:00").toUTCString(), new Date("07 Dec 2014 14:30:00").toUTCString()];
var enddatearr = [new Date("05 Dec 2014 14:30:00").toUTCString(), new Date("08 Dec 2014 14:30:00").toUTCString()];
var d = new Date().toUTCString();
for (i = 0; i < startdatearr.length; i++) {
if (startdatearr[i] <= d && d <= enddatearr[i]) {
alert("true");
} else {
alert("false");
}
}
这段代码曾经有效,但突然间它不起作用,即使我今天检查日期,它似乎说 UTC 在 2014 年 12 月 4 日至 5 日之间,但它仍然返回 false。
代码在 12 月不起作用,还是我一直在使用已弃用的代码?
你必须把它变成毫秒,然后比较它。然后它将正常工作。到目前为止,您正在比较我认为遵循词法模式的字符串。
var startdatearr = [+new Date("04 Dec 2014 14:30:00"), +new Date("07 Dec 2014 14:30:00")];
var enddatearr = [+new Date("05 Dec 2014 14:30:00"), +new Date("08 Dec 2014 14:30:00")];
var d = +new Date();
for (i = 0; i < startdatearr.length; i++) {
if (startdatearr[i] <= d && d <= enddatearr[i]) {
alert("true");
} else {
alert("false");
}
}
要再次将毫秒转换为日期,然后显示 UTC 字符串,您可以这样做
alert(new Date(d).toUTCString());
alert(new Date(startdatearr[0]).toUTCString());
alert(new Date(enddatearr[0]).toUTCString());
演示
好吧,您正在运行 ToString 风味方法。如果这以前有效,我怀疑它只对每次机会有效。因为startdatearr[i] <= d
会检查字符串是否小于或等于。如果发生任何继承转换,那将是特定于浏览器/JS实现且不可靠的。
根据您的目标和对 UTC 的需求,可能有效的方法是删除对 .toUTCString()
的每个调用,只使用返回的 Date
对象,但这将被本地化为浏览器的时区(再次,取决于 JS 实现,但我假设浏览器正在运行此代码)。
在 UTC 日期中,字符串的第一部分是星期几。例如,UTC 中的"04 Dec 2014 14:30:00"
是 "Thu, 04 Dec 2014 13:30:00 GMT"
。
因此,当您比较d
和startdatearr[i]
时,大多数时候您只检查一周中的哪一天是按字母顺序排列的第一天。
因此,此代码可能有效或无效,具体取决于星期几。
相关文章:
- 如何在javascript中获取两个日期之间的周六和周日的日期
- 如何用moment.js列出两个日期之间的所有月份
- moment.js在两个时区格式的日期之间存在差异
- 用时间戳获取两个不同日期之间的时间差
- JavaScript函数,用于计算两个日期之间的年、月和天数
- 再次使用JavaScript计算两个日期之间的天数
- 在Javascript中计算两个日期之间的工作日,节假日除外
- 在Jquery或Javascript中获取两个范围或日期之间的通信周数
- 如何使用moment.js获取24小时内日期之间的时差
- 两个日期之间的差异
- JavaScript-计算两个日期之间的天数(包括结束日期)
- 夏令时期间不起作用的 2 个日期之间的小时差异
- v8::值到日期之间的转换
- 在ExtJS中获取开始/结束日期之间的日期
- 如何计算日期之间的差异
- 两个日期之间的月份差异,计算月份的最后日期
- JavaScript:获取MySQL时间戳和当前日期之间的天数差
- 从表列中检索日期,并根据从今天到日期之间的天数使行的颜色发生变化
- 获取两个日期之间的天数
- 计算日期之间的天数