做了一个小小的系统,需要调用系统时间。当时在我电脑上测试时,没有任何问题。但是,当部署到实际应用的环境中时竟然和系统的正确时间相差八个小时。一直不知道搞不清是怎么回事。
今天闲来无事,就上网查查,发现了一个解决方法。是JDK获取时间时,国际化问题没有处理好。没有获取正确时区的时间。所以,在获取时间的前面,首先设置一下时区即可。具体解决方法如下:
import java.util.Date;
import java.util.TimeZone;
import java.text.SimpleDateFormat;
public class NowString {
public static void main(String[] args) {
TimeZone tz = TimeZone.getTimeZone("ETC/GMT-8");
TimeZone.setDefault(tz);
//设置日期格式
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// new Date()为获取当前系统时间
System.out.println(df.format(new Date()));
}
}
有这方面问题的朋友,以后可要注意了。
参考网站:
http://topic.csdn.net/u/20090410/20/9f05af42-491b-4b97-bcd6-d37bffbf870b.html
http://jelly408385909.iteye.com/blog/444848
http://hi.baidu.com/kaixinpengpeng/blog/item/04b6a56e0e8fb6d981cb4ad6.html
http://wenwen.soso.com/z/q80579270.htm
我的网站:http://www.ivvy.org/ 。小站刚刚发布。欢迎大家指点。谢谢!
我的新博客:“地瓜哥”,http://www.diguage.com/