js显示某些日期会少一天

在项目中,个人信息出生日期显示错误,有时和数据库里值不一致,有些出生年月日会显示少一天,但大多数都显示正常。比如:数据库里面的日期类型:1987/7/18在页面会显示成 1987/07/17。 但是1985/7/18显示正常。

问题产生的原因是:日期类型在js里面会自动转化为毫秒格式,再通过毫秒转化为日期时,某些日期会转化有误差。比如:1987-07-18 00:00:00.0 转化为毫秒,再转化为日期会变成 1987-07-17

解决问题的方案是:在后台直接格式化后赋值给字符串类型,再到js直接取值,问题完美解决。

========下面是我跟踪这一bug的过程图:
1、oracle数据库中出生日期的数据:
这里写图片描述
2、sql日志打印的出生日期数据:
这里写图片描述
3、封装到vo里面的出生日期数据:
这里写图片描述
4、js中把日期转化为毫秒的截图:
这里写图片描述
5、最终出生日期的显示:
这里写图片描述


下面是时区的百度百科链接:
http://baike.baidu.com/link?url=RQE1HuPg8UhZTDClTt34e6k6-UK3nmaRpI5aQTl8x7sS6AczAWMUHpm5v018h9SET8glg4ch51mItP4t8NklYK

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值