gpt4 book ai didi

java - 我创建了一种方法来添加分钟到日期时间,但在 Java 中没有达到预期

转载 作者:行者123 更新时间:2023-12-02 01:27:26 25 4
gpt4 key购买 nike

这是一个java代码,如果可能的一天,它会添加带有时间小时和分钟的日期

    timeAddition("06/20/2019;23:30", 60, "m")

public static String timeAddition(String TimeAndDate, int addTime, String units_M_H) {
try {
String returnTime = TimeAndDate;
final long ONE_MINUTE_IN_MILLIS = 60000;

DateFormat dateFormat = new SimpleDateFormat("MM/dd/YYYY;HH:mm");
Date date = dateFormat.parse(TimeAndDate);
Calendar Cal = Calendar.getInstance();

Cal.setTime(date);

if (units_M_H.trim().equalsIgnoreCase("h")) {
Cal.add(Calendar.HOUR_OF_DAY, addTime);
returnTime = dateFormat.format(Cal.getTime()).toString();
} else if (units_M_H.trim().equalsIgnoreCase("m")) {
long timeInMili = date.getTime();
date = new Date(timeInMili + (addTime * ONE_MINUTE_IN_MILLIS));
returnTime = dateFormat.format(date);
}

return returnTime;
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}

预期输出为 06/21/2019;00:30 但实际输出为 12/31/2019;00:30

最佳答案

java.time

不要重新发明轮子,Java 已经拥有执行此类操作的所有工具。请参阅 Java 中内置的类的 java.time 包。请参阅Tutorial .

String timestamp = "06/20/2019;23:30";
LocalDateTime ldt = LocalDateTime.parse(timestamp,
DateTimeFormatter.ofPattern("MM/dd/yyyy;HH:mm"));
System.out.println(ldt);
LocalDateTime ldt2 = ldt.plus(60L, ChronoUnit.MINUTES);
System.out.println(ldt2);

将打印您期望的内容。

2019-06-20T23:30
2019-06-21T00:30

希望这有帮助!

关于java - 我创建了一种方法来添加分钟到日期时间,但在 Java 中没有达到预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56686464/

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