首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于getTime()返回值的问题

关于getTime()返回值的问题
EN

Stack Overflow用户
提问于 2014-09-03 15:41:55
回答 3查看 146关注 0票数 0

我创建了一个日期变量,指向2014年7月9日

代码语言:javascript
复制
 var date = new Date(2014, 6, 9);

当我试图从这个日期获得时间时,我希望时间变量

代码语言:javascript
复制
 var time = date.getTime(); 

会给我2014年7月9日00:00的毫秒值。

相反它给了我

代码语言:javascript
复制
1404860400000

这是2014年7月8日23:00的毫秒值。有人能解释一下为什么吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-09-03 15:45:30

你的代码在这里:

代码语言:javascript
复制
var date = new Date(2014, 6, 9);

创建一个初始化为2014年7月9日午夜本地时间的Date实例。时间戳号(JavaScript的毫秒自-纪元和Unix的秒-自纪元)不受时区的影响,其值从1970年1月1日UTC午夜开始。

如果您要构造此日期:

代码语言:javascript
复制
var newDate = new Date(1404860400000);

.你会有一个和你第一次约会完全相同的约会如果你问它所代表的那一刻的当地版本,它会说2014年7月9日午夜。

在上面的datenewDate中,如果你问它UTC版本的日期,你会看到它与午夜相抵(方向取决于你在英格兰格林威治西部或东部的位置)。在我写这篇文章的时候,几乎没有人在格林尼治标准时间,甚至我们英国人也没有,因为夏季时间。但对于大多数从未在格林尼治时间工作的人来说,这种价值总是会被抵消的。

如果你想要一个Date实例,给你2014年7月9日午夜(例如,不是当地时间),使用new Date(Date.UTC(2014, 6, 9))Date.UTC为您提供UTC中给定日期的时间值,然后如果您将该时间值输入到new Date中,则会得到它的Date

票数 3
EN

Stack Overflow用户

发布于 2014-09-03 15:45:27

1970年1月1日: getTime()返回自1970年1月1日以来的毫秒数,由这个Date对象表示的格林尼治时间是00:00。返回:自1970年1月1日起的毫秒数,由此日期表示的格林尼治时间00:00:00。

谷歌。

票数 0
EN

Stack Overflow用户

发布于 2014-09-03 15:46:35

Mozilla文档通常很好地解决了这样的文档问题。

Objects/Date

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25648502

复制
相关文章

相似问题

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