我使用以下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
请帮我解决这个问题!
答案 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"));