【发布时间】:2012-02-18 12:43:48
【问题描述】:
我想使用 Date 和 Calendar 类计算 java 中两个日期/时间之间的差异。我的格式是“2012-01-24 12:30:00 PM”。
我已经实现了自己的方法,并且还通过谷歌搜索它以与其他人一起使用,但没有得到正确的提示来处理 AM 和 PM 值。
只要时间中有 12(AM/PM),日期/时间差异就会受到影响。例如,如果我的日期/时间为“2012-01-24 12:30:00 PM”和“2012-01-24 02:30:00 PM”,则显示时差为 10 小时。
考虑到this link 上的代码如何修改它来处理AM 和PM。
要将字符串日期转换为日期,我使用以下代码:
String sessionTimeStart = "2012-01-24 12:30:00 PM";
String sessionTimerEndOrCurrent = "2012-01-24 02:30:00 PM";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a");
Date d1 = null;
Date d0 = null;
try {
d1 = format.parse(sessionTimeStart);
d0 = format.parse(sessionTimerEndOrCurrent);
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
【问题讨论】:
-
如何将字符串转换为
Date对象?以及如何计算差异?如果你使用你链接的代码,你怎么称呼它? -
@Thomas 我更新了帖子
标签: java date calendar date-arithmetic date-difference