相关疑难解决方法(0)

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

我有一个网页,每天,每月和每年有三个下拉菜单.如果我使用Date带有数字的JavaScript 构造函数,那么我得到一个Date当前时区的对象:

new Date(xiYear, xiMonth, xiDate)
Run Code Online (Sandbox Code Playgroud)

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

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

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

Apr 5th 00:00 GMT+01:00 
Run Code Online (Sandbox Code Playgroud)

Apr 4th 23:00 GMT+01:00
Run Code Online (Sandbox Code Playgroud)

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

Apr 5th 01:00 GMT+01:00
Run Code Online (Sandbox Code Playgroud)

这就是我想要的.

javascript timezone

392
推荐指数
13
解决办法
66万
查看次数

标签 统计

javascript ×1

timezone ×1