Java当前时间比我的系统时间提前2小时

时间:2012-07-15 16:53:15

标签: java datetime netbeans-6.9 systemtime

我使用以下Java代码来获取当前日期和时间:

DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
DateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
Date date = new Date();
System.out.println(dateFormat.format(date));
System.out.println(timeFormat.format(date));

输出时间始终比我的系统时间或时区提前2小时。例如,如果以上代码输出以下时间:
11:44:43
然后我的系统时间是:
09:44:43

请帮我解决这个问题!

2 个答案:

答案 0 :(得分:1)

试试这个:

DateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
TimeZone tz = TimeZone.getDefault();
Calendar c = Calendar.getInstance(tz);
Date date = c.getTime();
System.out.println(timeFormat.format(date));

如果无效,请尝试更改时区。看看TimeZone.getTimeZone(String id)

答案 1 :(得分:-2)

你的问题是时区

for exp。

这个Android代码。

更改应用的时区。

因为android默认时区是“UTC”

SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
formatter.setTimeZone(TimeZone.getTimeZone("UTC"));