Java中SimpleDateFormat格式化12小时制时间字符串

今天在开发过程中遇到了生成订单编号的功能,编号的生成规则为订单类型+时间+随机数,但是最后发现下午两点钟生成的订单编号为:P20191202025604221950,20191202025604这部分是对应的时间部分,小时部分竟然是02,刚开始还以为是时间区设置问题,后来发现日志里面打印出来的日期是没问题的,经过一番查找资料才发现了自己的马虎,把时间格式化字符串的小时写成了hh,特此记录一下,可见自己之前基础知识的十分的不扎实。

Date date = new Date();
//转换成时间格式12小时制
SimpleDateFormat df12 = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");

//转换成时间格式24小时制
SimpleDateFormat df24 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");

System.out.printf("12小时制输出时间: %s\n", df12.format(date));
System.out.printf("24小时制输出时间: %s", df24.format(date));

最后的输出为:

12小时制输出时间: 2019年12月02日 03:02:04 
24小时制输出时间: 2019年12月02日 15:02:04 

你可能感兴趣的:(Java中SimpleDateFormat格式化12小时制时间字符串)