gpt4 book ai didi

Java Calendar.HOUR_OF_DAY 下午 2 点不工作

转载 作者:行者123 更新时间:2023-12-01 06:38:00 27 4
gpt4 key购买 nike

我需要在当前时间上添加两个小时并以 24 小时格式表示。这是我的代码

public class Tester {

@Test
public void test() {

//for example i have entered time 12.00PM so it should add 2 hours and print 14.00
System.out.println(stringToDate("2015-10-16 12:00:03"));


}


public static Date stringToDate(String str) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = null;
try {
date = formatter.parse(str);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY)+2);
date = calendar.getTime();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return date;
}


}

预期输出

Fri Oct 16 14:00:03 IST 2015

但是我得到了Fri Oct 16 02:00:03 IST 2015

如果我使用时间“2015-10-16 11:00:03”而不是“2015-10-16 12:00:03”然后我得到正确的输出,那就是

"2015-10-16 13:00:03"

请谁能帮我解决这个问题

最佳答案

这是错误的:

calendar.add(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) + 2);

在本例中,您将当前小时数加上 2 小时。你应该使用:

calendar.add(Calendar.HOUR_OF_DAY, 2);

对于 24 小时格式:使用 HH 而不是 hh

关于Java Calendar.HOUR_OF_DAY 下午 2 点不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33171003/

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