javascript - 如何检查 2017-03-29T06 :45:00. 000Z 是否等于现在的日期和时间?

标签 javascript datetime

我的日期格式为 2017-03-29T06:45:00.000Z,如何检查它是否等于或小于现在的日期和时间?

如果我检查

var currentTime = new Date();
if("2017-03-29T06:45:00.000Z" <= currentTime){

它不正确,因为当前日期的格式为Wed Mar 29 2017 08:59:18 GMT+0200(CEST) 任何意见表示赞赏,谢谢

最佳答案

您正在尝试将字符串与Date 对象进行比较。由于这两种数据类型不匹配,因此 javascript 会尝试按值比较它们并调用 currentTime.valueOf()。其计算结果为一个整数,如 1490781568805。然后 JavaScript 尝试将字符串与计算出的整数进行比较。结果是different than you might expect ,因为字符串的各个字符代码与整数进行比较。

"2017-03-29T06:45:00.000Z" <= new Date() // string compared to the Date object
"2017-03-29T06:45:00.000Z" <= new Date().valueOf() // javascript trying get a value for the date object
"2017-03-29T06:45:00.000Z" <= 1490781568805 // evaluates to false

您可以使用 Date.parse() 将日期字符串解析为 Date 对象

Date.parse("2017-03-29T06:45:00.000Z") <= new Date() // two Date objects are compared

关于javascript - 如何检查 2017-03-29T06 :45:00. 000Z 是否等于现在的日期和时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43086509/

相关文章:

javascript - jsPDF的类型错误

javascript - 为什么 javascript 对象在 Chrome、Firefox、Safari 的控制台中显示不同的值?

iPhone:如何修复基于更改设备日期的作弊行为?有服务器可以获取时间吗?

datetime - 将日期、日期时间转换为时间戳

javascript - Angularjs <div ng-controller 覆盖第二个 ng-controller

javascript - 如何使整个跨度可点击?

c# - 反转这个功能

php - 检查值是否为日期时间

javascript - 带参数的事件监听器

javascript - 以 YYYY-MM-DD HH :MM:SS 格式比较 javascript 中的日期时间