在项目中,个人信息出生日期显示错误,有时和数据库里值不一致,有些出生年月日会显示少一天,但大多数都显示正常。比如:数据库里面的日期类型: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
原文地址:http://blog.csdn.net/zl544434558/article/details/45672655