toISOString获取日期造成时差8小时的问题解决

本文介绍了如何避免时区问题,当你使用toISOString()方法处理中国时区的Date对象时。提供两种解决方案:直接组合日期和时间,以及在原有时间基础上加8小时。通过rTime函数实例演示了修正后的日期格式。
摘要由CSDN通过智能技术生成

toISOString() 方法可以使用ISO标准将 Date 对象转换为字符串。该标准称为 ISO-8601 ,格式为: YYYY-MM-DDTHH:mm:ss.sssZ,但是这个方法会丢失时区,如果转换日期的需求包含时分秒的话,因为在中国时区,所有得到的结果都会少8个小时,因此会造成问题,下面是解决办法:

方法一:直接使用getfullyear/getday/getmorth等方法组合日期

方法二:在原来的基础上加上8个小时就好了

rTime:function(){
      var dateTime = new Date(+new Date()+8*3600*1000);
      return new Date(dateTime).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '')
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值