import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; public class test { public static void main(String[] args) { try { String str = "03/02/2015 13:00:00 pm".trim(); // 1)如果小时是 hh,则单纯根据 am 和 pm 判断,如果为 am,则根据数值显示(00:00-23:59),大于等于 24 加一天并减去 24; // 如果为 pm,小于 12 则会加 12 显示(0 和 12 显示一样),大于等于 13 会减去 12 且加一天 // 2)如果小时是 HH,则单纯根据时间数值判断,如果大于等于 24 则会加一天 // 3)如果小时是 kk,则单纯根据时间数值判断(00:00-24:59),如果大于 24 就减去 24,大于等于 25 则会加一天(感觉一天就成 25 小时) // 4)如果小时是 KK,则单纯根据 am 和 pm 判断,如果为 am,则根据数值显示(00:00-23:59),大于等于 24 加一天并减去 24; // 如果为 pm,小于 12 则会从 12 开始显示。如果大于等于 12 会减去 12 且加一天 SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a", Locale.ENGLISH); Date ctime = formatter.parse(str); System.out.println(ctime); } catch (ParseException e) { e.printStackTrace(); } } }
日期--不同的小时场景
于 2022-05-01 18:21:45 首次发布