我的系统时间不同于java的新Date()告诉(+4小时),
所以我认为这是因为一些Java设置。
我怎样才能让java时间像我的Linux系统时间一样?
(通过编辑一些configuration文件)
http://minaret.biz/tips/timezone.html
我不确定,但可能有帮助。
您可以在应用程序启动时使用TimeZone.setDefault(..)
,或将时区作为命令行参数传递: -Duser.timezone=GMT
如果您想以编程方式更改时区,则可以使用:
TimeZone.setDefault(TimeZone.getTimeZone("UTC"))
我更喜欢这种方法,因为它不依赖于人们记住用正确的时区参数运行我的代码。
Calendar calendar = Calendar.getInstance(TimeZone.getDefault()); Date myDate = calendar.getTime(); System.out.println(myDate);
这段代码是否打印正确的日期/时间? 否则,还有其他一些问题。
这段代码帮了我。
TimeZone tzone = TimeZone.getTimeZone("Singapore"); // set time zone to default tzone.setDefault(tzone);
使用System.getCurrentTimeInMillis();
然后拿一个日历实例并设置你的时间..