微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

创建具有设定时区的日期而不使用字符串表示

如何解决创建具有设定时区的日期而不使用字符串表示

使用.setUTCHours()它可以实际设置 UTC 时间中的日期,这将允许您在整个系统中使用 UTC 时间。

但是,除非您指定日期字符串,否则您不能在构造函数中使用 UTC 设置它。

使用new Date(Date.UTC(year, month, day, hour, minute, second))您可以从特定的 UTC 时间创建日期对象。

解决方法

我有一个网页,其中包含日、月和年的三个下拉菜单。如果我使用接受数字的 JavaScriptDate构造函数,那么我会得到一个Date当前时区的对象:

new Date(xiYear,xiMonth,xiDate)

给出正确的日期,但由于夏令时,它认为日期是 GMT+01:00。

这里的问题是,然后我将它传递Date给 Ajax 方法,当日期在服务器上被反序列化时,它已被转换为
GMT,因此丢失了一个小时,这将一天向后移动。现在我可以将日、月和年单独传递到 Ajax 方法中,但似乎应该有更好的方法。

接受的答案为我指明了正确的方向,但只是单独使用setUTCHours()改变了:

Apr 5th 00:00 GMT+01:00

Apr 4th 23:00 GMT+01:00

然后我还必须设置 UTC 日期、月份和年份以结束

Apr 5th 01:00 GMT+01:00

这就是我想要的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。