我需要在“6/27/2024 12:27:00 AM”的时间上添加 8 个小时,因此结果应该是“6/27/2024 8:27:00 PM”并将其作为字符串返回。
我尝试使用正则表达式,但有缺陷且太复杂,必须添加 AM 和 PM 更改的条件。我正在寻找最简单的方法来解决这个问题。
方法有很多,我用的是日历
String input = "6/27/2024 12:27:00 AM";
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss a", Locale.ENGLISH);
try {
Date date = sdf.parse(input);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
// Add hours
calendar.add(Calendar.HOUR_OF_DAY, 3);
String formattedDateTime = sdf.format(calendar.getTime());
System.out.println("Original date time: " + input);
System.out.println("Date time after adding hours: " + formattedDateTime);
} catch (ParseException e) {
System.out.println("Exception: " + e.getMessage());
}