gpt4 book ai didi

javascript - 更改 JS 日期的时区而不更改指定的时间?

转载 作者:行者123 更新时间:2023-11-28 04:06:44 25 4
gpt4 key购买 nike

var schedule = {
start_at = Date ( '2017-10-10' ), // Not editable - this data is being handed off by an ORM
...
};

// Mon Oct 09 2017 20:00:00 GMT-0400 (Eastern Daylight Time)
console.log ( schedule.start_at );

是否可以更改 ISO 日期的时间以匹配当前时区的 00:00:00,因此在本例中输出将为 Tue Oct 10 2017 00:00:00 GMT- 0400(东部夏令时间)

我尝试过使用 moment.utc (),但这只能帮助将日期格式化为字符串。输出需要是一个 Date 对象,并通过一些进一步的逻辑来传递。

我花了几个小时查找 Moment.js 文档,但没有找到任何可以用来解决这个问题的东西。

(注意:我将其添加到使用 Node.js 进行 API/服务器开发的缺点列表中。ISO 日期管理在我的经验中一直是一场噩梦。)

编辑:

所以我错了。事实证明,schedule.start_at 是一个设置为Mon Oct 09 2017 20:00:00 GMT-0400(东部夏令时间) 的 Date 对象。 [问题已更改以反射(reflect)]。我的问题仍然存在,如何更改日期对象以更改时区,同时保持指定的时间?

最佳答案

这是您要找的吗:时刻 (schedule.start_at + '00-0400').toDate();

var schedule = {
start_at : '2017-10-10'
};

var date = moment ( schedule.start_at ).toDate();
console.log(date.toString());

var date2 = moment ( schedule.start_at + ' 00-0400' ).toDate();
console.log(date2.toString());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>

关于javascript - 更改 JS 日期的时区而不更改指定的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46627685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com