【发布时间】:2013-05-02 10:52:40
【问题描述】:
我有一个问题,即Joda-Time 库返回的epoch 以来的天数根据我输入的日期的时间而变化。如果我输入 2012-05-14 22:00:00 和 2012-05-14 02:00:00 我会期待相同的结果,因为它们都在同一天。以下是我的代码。
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date1 = sdf.parse("2013-05-03 07:00:00");
Date date2 = sdf.parse("2013-05-03 23:30:00");
MutableDateTime epoch = new MutableDateTime();
epoch.setDate(0); //Set to Epoch time
System.out.println("Epoch: " + epoch);
Days days1 = Days.daysBetween(epoch, new MutableDateTime(date1.getTime()));
Days days2 = Days.daysBetween(epoch, new MutableDateTime(date2.getTime()));
System.out.println("1) Days Since Epoch: " + days1.getDays());
System.out.println("2) Days Since Epoch: " + days2.getDays());
} catch (ParseException e) {
e.printStackTrace();
}
Epoch: 1970-01-01T11:09:00.414+01:00
1) Days Since Epoch: 15827
2) Days Since Epoch: 15828
有人知道我做错了什么吗?
【问题讨论】:
-
结果取决于您的时区。请记住,纪元的开始时间是 01-01-1970, 00:00:00 GMT。根据您的时区,2012-05-14 22:00 和 2012-05-14 02:00 在转换为 GMT 时可能在不同的日期。