Javascript 与日期

标签 javascript datepicker

我有一些有趣的问题,但找不到解决方案。看看这个:

var d1 = new Date("07 31 2014");
document.write(d1);
document.write('<br />');
var d2 = new Date(1406746800 * 1000);
document.write(d2);

当我运行这个脚本时,我得到了这个结果:

Thu Jul 31 2014 00:00:00 GMT+0500 (UZT)
Thu Jul 31 2014 00:00:00 GMT+0500 (UZT)

然后在我更改时区后得到以下结果:

Thu Jul 31 2014 00:00:00 GMT-0800 (AKDT)
Wed Jul 30 2014 11:00:00 GMT-0800 (AKDT)

如您所见,第二个结果是 7 月 30 日,但第一个结果是 7 月 31 日。我认为它们都必须等于 7 月 31 日。我知道这个问题取决于时区,但有解决方案吗?

最佳答案

所以构造函数的参数是:

an Integer value representing the number of milliseconds since 1 January 1970 00:00:00 UTC

给定你的整数值,它代表(对我来说,在 BST 中):

Wed Jul 30 2014 20:00:00 GMT+0100

这是

Wed Jul 30 2014 19:00:00 UTC

你的时区是 GMT-8,所以上面的 -8 给出了:

Wed Jul 30 2014 11:00:00 GMT-0800 AKDT

日期字符串 构造函数以您本地的时区构造日期。您可以通过执行以下操作查看值应该是什么:

new Date("07 31 2014").getTime() / 1000

返回 1406761200,而不是 1406746800

关于Javascript 与日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25031083/

相关文章:

angular - NgbDatePicker - 如何将 longDate 字符串绑定(bind)到 [ngModel]?

android - 从单个对话框 fragment 获取日期和时间选择器值并将其设置在 EditText 中

javascript - 有没有办法让 jQuery UI Datepicker 不可点击?

javascript - Accordion 子菜单不会向下滑动

javascript - react native 句柄翻译和语言

javascript - 在 ionic 4 + Angular 中将日期转换为 DD/MM/YYYY

jquery - Rails 日期/时间选择器(希望是 jquery)

php - Laravel 查询比较数据库中的两个字符串,日期格式为 Y-m

javascript - jQuery sibling divs 高度相同,窗口调整大小不适用于文本换行

javascript - 仅提取新日期的时间