Java Joda时间自纪元起的天数

Java Joda时间自纪元起的天数,java,jodatime,Java,Jodatime,我有一个问题,图书馆返回后的天数会随着我输入日期的时间而变化。如果我输入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");

我有一个问题,图书馆返回后的天数会随着我输入日期的时间而变化。如果我输入
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(); 
    }

有人知道我做错了什么吗?

OK发现了问题(就在我眼前:)。。。我所处的时代确实是从1970-01-01开始的,但不是从那天的第一个毫秒开始的

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

epoch.setTime(0);

结果取决于你的时区。请记住,新纪元的开始时间是1970年1月1日00:00:00 GMT。根据您的时区,2012年5月14日22:00和2012年5月14日02:00在转换为GMT时可能处于不同的日期。请注意……对于希望忽略时间而只关注日期的一般情况,请在上调用该方法。不确定这是否适用于此问题;我没有测试。
epoch.setTime(0);