关于getTime()的返回值的问题
Issue about the return value of getTime()
我创建了一个日期变量,指向2014年7月9日
var date = new Date(2014, 6, 9);
当我试图从这个日期获得时间时,我预计时间变量
var time = date.getTime();
会给我2014年7月9日00:00:00的毫秒值。
相反,它给了我
1404860400000
这是2014年7月8日23:00:00的毫秒值。有人能解释一下为什么吗?
此处的代码:
var date = new Date(2014, 6, 9);
创建一个Date
实例,该实例初始化为2014年7月9日午夜的本地时间。时间戳数字(JavaScript自Epoch以来的毫秒数和Unix自Epch以来的秒数)不受时区的影响,该值自1970年1月1日午夜UTC起。
如果你要构建这个日期:
var newDate = new Date(1404860400000);
你会有一个和你第一次约会完全一样的约会。如果你问它所代表的时刻的当地版本,它会说是2014年7月9日午夜。
在上面的date
和newDate
中,如果你问它日期的UTC版本,你会发现它偏离了午夜(方向取决于你在哪里,英国格林威治的西部或东部)。在我写这篇文章的时候,几乎没有人在格林尼治标准时间,甚至我们英国人也不在,因为夏天。但对于大多数从不在格林尼治标准时间的人来说,价值总是会被抵消的。
如果您希望Date
实例在2014年7月9日UTC(例如,而非当地时间)提供午夜,请使用new Date(Date.UTC(2014, 6, 9))
。Date.UTC
以UTC为单位为给定日期提供时间值,然后如果将该时间值输入new Date
,则会得到它的Date
。
1970年1月1日:getTime()返回自1970年1月1日00:00:00 GMT以来由该Date对象表示的毫秒数。返回:自1970年1月1日00:00:00 GMT以来由该日期表示的毫秒数。
谷歌。
Mozilla文档通常很好地涵盖了这样的文档问题。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
- Javascript返回值只在循环中返回一次
- XMLHttpRequest未返回值-状态202
- 根据是否解析了 Promise 从函数返回值
- Angular,函数在(模型)工厂中返回值
- AngularJS错误:提供程序必须从$get工厂方法返回值
- 为变量分配多个nodejs导出返回值时出现问题
- javasctipt-返回值的异步问题
- 从ID Jquery类获取返回值时出现问题
- 从表单javascript返回值时出现问题
- 存在从函数返回值的问题
- 使用jQuery自定义JS Confirm Modals.延迟和基于按钮的返回值问题
- 关于getTime()的返回值的问题
- 我的javascript函数返回值时出现问题
- Javascript元素点击返回值的问题
- 通过函数返回值仍然有问题
- Ajax以json格式返回值问题
- 从所单击的链接返回值时出现问题
- 全局作用域、返回值和ajax的问题
- javascript和返回值的问题
- javascript函数返回值面临的问题