我得到了简单的代码,也许问题依赖于给定的格式字符串或时区.所以这是代码:
public static void main(String[] args) {
SimpleDateFormat df = new SimpleDateFormat("HH:mm");
try {
Date added = df.parse("00:00");
System.out.println(added);
System.out.println(added.getTime());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
其结果是:Thu Jan 01 00:00:00 EET 1970
-10800000 – >应该是0,因为我们给00:00小时,其他时间元素保持默认.
//编辑
是的,问题在于使用时区来修复此用途
df.setTimeZone(TimeZone.getTimeZone( “UTC”));在解析之前.
最佳答案
值10800000恰好是3小时(以毫秒为单位),我收集的大致是EET和UTC之间的偏差(实际上,根据this,它只有2小时,但我想额外的小时是DST或其他什么).
因此,差异可能是由于您的时区.