gpt4 book ai didi

java - 考虑 AM/PM 计算 Java 中的日期/时间差

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:06:19 29 4
gpt4 key购买 nike

我想使用 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();
}

最佳答案

问题是您的日期格式:使用 yyyy-MM-dd hh:mm:ss a 而不是 yyyy-MM-dd HH:mm:ss a

HH 将是一天中的小时 (0-23) 而 hh 将是 AM/PM (1-12) 中的小时。因此,您的日期格式 02:30:00 将被解析为 02:30:00 而不是转换为 PM 版本(一天中的小时数为 14:30:00)。

关于java - 考虑 AM/PM 计算 Java 中的日期/时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9000906/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com