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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。