一般在linux下系统的时间与bios不一样,因为我们使用的时间时区不是GMT 0时区。所以可以考虑把系统的时区选成0时区的国家。但是要注意英国的时间实行"夏令时"。
这样做有一个问题:就是java环境取的日期默认不是+8区的java.util.Date()。所以在生产环境尽量不要这样做。一个变通的方法是在java代码中对日期进行特殊处理:
Date d = new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd kk:mm:ss ");
sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
System.out.println(sdf.format(d));
或者
<fmt:formatDate value="${createDate}" pattern="yyyy-MM-dd HH:mm:ss" timeZone="Asia/Shanghai"/>
感觉把问题越弄越乱.
deiban
dpkg-reconfigure tzdata
配置区域
dpkg-reconfigure locales
这样做有一个问题:就是java环境取的日期默认不是+8区的java.util.Date()。所以在生产环境尽量不要这样做。一个变通的方法是在java代码中对日期进行特殊处理:
Date d = new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd kk:mm:ss ");
sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
System.out.println(sdf.format(d));
或者
<fmt:formatDate value="${createDate}" pattern="yyyy-MM-dd HH:mm:ss" timeZone="Asia/Shanghai"/>
感觉把问题越弄越乱.
deiban
dpkg-reconfigure tzdata
配置区域
dpkg-reconfigure locales
探讨了Linux系统时间设置及与Java环境日期处理的差异,提出了解决方案以确保日期时间的一致性。
1万+

被折叠的 条评论
为什么被折叠?



