我有SimpleDateFormat。
Date vrcTime;
SimpleDateFormat vrcCurrentTimeTextValue;
vrcTime.setTime (0);
vrcTimeFormat = new SimpleDateFormat ("HH:mm:ss");
vrcCurrentTimeTextValue = vrcTimeFormat.format (vrcTime);
为什么即使时间为0,我的SimpleDateFormat也会返回1小时?
答案 0 :(得分:1)
您居住在GMT + 1时区,除非您指定另一个时区,否则您的格式化程序将选择您当前的格式化程序,因此它将0小时视为GMT,而您在GMT + 1时则输出1小时。 所以添加
vrcTimeFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
即。将代码重写为
Date vrcTime;
SimpleDateFormat vrcCurrentTimeTextValue;
vrcTime.setTime (0);
vrcTimeFormat = new SimpleDateFormat ("HH:mm:ss");
vrcTimeFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
vrcCurrentTimeTextValue = vrcTimeFormat.format (vrcTime);