1

我正在使用以下 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

请帮我解决这个问题!

4

2 回答 2

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)

于 2012-07-15T16:57:15.783 回答
-2

你的问题是时区

为 exp。

此代码适用于 android。

更改应用程序的时区。

因为android默认时区是“UTC”

SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
于 2012-11-19T14:17:57.277 回答