小编use*_*243的帖子

Java 23小时工作日的日期差异

我必须计算日期之间的差异,我找到了一种方法,但我有这个奇怪的结果,我错过了什么?

public static void main(String[] args) throws ParseException {
    DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    long result = format.parse("2012-03-25 24:00").getTime() - format.parse("2012-03-25 00:00").getTime();
    System.out.println("Difference in hours: " + result/(1000*60*60));
    result = format.parse("2012-03-26 24:00").getTime() - format.parse("2012-03-26 00:00").getTime();
    System.out.println("Difference in hours: " + result/(1000*60*60));
}
Run Code Online (Sandbox Code Playgroud)

结果如下:小时差异:23小时差异:24

感谢您的建议,现在我正在使用Joda libray,我有这个问题,当我用这种方式计算差异时:

DateTime  begin = new DateTime("2012-03-25T00:00+01:00");
DateTime  end = new DateTime("2012-03-26T00:00+01:00");
Hours m = Hours.hoursBetween(begin, end);
Run Code Online (Sandbox Code Playgroud)

如果我用这种方式来计算我24小时得到的小时数(因为我认为不考虑DST)

我应该使用什么类/微积分来考虑DST(我已经尝试了不同的方法,但我没有得到它)​​的23小时结果是期间类?

感谢所有的帮助......

java date

5
推荐指数
1
解决办法
926
查看次数

标签 统计

date ×1

java ×1