为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

弑天下 2019-06-18 10:55:00
使用设置的时区创建日期,而不使用字符串表示形式我有一个网页,有三个下降日,月和年。如果我使用JavaScriptDate构造函数,该构造函数接受数字,然后我将得到一个Date对象,用于当前时区:new Date(xiYear, xiMonth, xiDate)给出正确的日期,但它认为日期是格林尼治时间+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这正是我想要的。
查看完整描述

3 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

我相信你需要CreateDateAsUTC功能(请与转换DateToUTC)

function createDateAsUTC(date) {
    return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()));
    }function convertDateToUTC(date) { 
    return new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(),
     date.getUTCSeconds()); }


查看完整回答
反对 回复 2019-06-18
  • 3 回答
  • 0 关注
  • 482 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号