我有一个网页,有三个下拉菜单,分别是日、月和年。如果我使用JavaScript的Date
构造函数接受数字,那么我将获得当前时区的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
这正是我想要的