Joda-时代以来的天数

时间:2013-05-08 09:12:49

标签: java jodatime

我遇到一个问题,即epoch库返回的Joda-Time后的天数会根据我输入的日期而变化。如果我输入2012-05-14 22:00:002012-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

有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:3)

确定发现了问题(这是我眼前的问题:))...我得到的时代确实是从1970-01-01开始,但不是从那天的第一个ms开始。

我需要添加以下行以对其进行排序:

epoch.setTime(0);