这几天发现一个诡异的事情,折磨了我好久,客户需要做一个学籍管理系统,填写入学时间的时候,总是会往前一天,比如2017年9月1日,总是显示成2017年8月31日,由于前端显示使用angualrjs 的fiter做的,就使用
$filter('date')(value, "yyyy年MM月 ",'+860' );
先解决显示的问题,
然后开始排查问题,从jvm到struts通通被我排查了一遍最后发现原来是Hibernate从数据库映射到实体的时候,总是给我吃掉一个小时,想过用Date格式替换,但是系统要多平台,用Date格式不方便数据传输,所以只能用时间戳字段,这下可麻烦了,
网上说要解决这个问题,只能用Hibernate5.2,可以指定时区,不知道各位有没有什么好办法。我的Hibernate用的是4.3 传统的ssh集成。
Apache Struts
Oracle
找到问题了,应该是前端控件的问题,以前我用的是一个 date mask 现在换成个日历控件就好了,奇怪了,我穿给 struts 的都是 yyyy-mm-dd 并没有时分秒啊 ,怎么一个可以,一个不可以呢 !不过谢谢以上三位高手了,你们提供的回答让我有所收获。