首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >javascript中的Datetime,它是一个bug吗?

javascript中的Datetime,它是一个bug吗?
EN

Stack Overflow用户
提问于 2011-07-07 08:14:52
回答 4查看 800关注 0票数 2

大家好,javascript专家,

我遇到了这段javascript代码,它让我有点费力地理解为什么它不能像预期的那样工作。所以我想我把它贴在这里寻求你的帮助。

基本上,代码是将日期转换为毫秒格式,然后将毫秒值再次转换回日期对象,但当进行比较时,它们是否相等?

代码语言:javascript
运行
复制
var currentTime = new Date();
var currentTimeInMill = Date.parse(currentTime);
var currentTime2 = new Date(currentTimeInMill);

// debug in firefox
console.log(currentTime);
// Date {Thu Jul 07 2011 09:56:19 GMT+1000 (AUS Eastern Standard Time)}

console.log(currentTime2);
// Date {Thu Jul 07 2011 09:56:19 GMT+1000 (AUS Eastern Standard Time)}

console.log(currentTime == currentTime2);
// false

我的问题是,为什么在火狐console.log中,即使currentTime和currentTime2的值“看起来”相同,它们的两个值也不相等?

EN

Stack Overflow用户

发布于 2011-07-07 08:19:18

这是因为时间串不是往返的。如果你尝试这样做:

代码语言:javascript
运行
复制
var currentTime = new Date();
var currentTimeInMill = Date.parse(currentTime);
var currentTime2 = new Date(currentTimeInMill);

console.log(currentTime.getTime());

console.log(currentTime2.getTime());

console.log(currentTime == currentTime2);
// false

你会发现时代不同了。currentTime2以3个零结尾,而currentTime有其他东西。这是一个以毫秒为单位的分钟差,日期字符串显然不包括这一点。

票数 3
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6604495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档