2019无论是在存储日期还是日期的格式化的时候,在所难免遇到yyyy-MM-dd HH:mm 今天我就遇到了 M大小写的区别,如果是小写则日期会当做分钟的处理,M的大小写是为了区分是分钟还是月份,
顺便说下HH为什么大写,是为了区分12小时制与24小时制。大写的H表示24小时制,小写的是12小时制
对于四个还是三个字母 系统对日期的显示也是有区别的,以2019-11-1日为例子
格式 | 显示 | 解析 |
yyyy/yyy/yy/y | 2019/2019/19/4 | 对于年份y三个y和四个y效果一样 |
MMMM/MMM/MM/M | 十一月/十一月/11/11 | 4个M显示全称,3个M显示缩写,不过中文显示是一样的,英文就是January和Jan |
dddd/ddd/dd/d | 星期五/周五(有的语言显示为“五"")/01/1 | 在英文中同M一样,4个d是全称,3个是简称; dddd/ddd表示星期几,dd/d表示几号 |
HH/H/hh/h | 01/1/01 AM/1 AM |
public static void main(String[] args) {
Date date=new Date();
System.out.println("系统当前时间是: "+date);
//c的使用
System.out.printf("全部日期和时间信息:%tc%n",date);
//f的使用
System.out.printf("年-月-日格式:%tF%n",date);
//d的使用
System.out.printf("月/日/年格式:%tD%n",date);
//r的使用
System.out.printf("HH:MM:SS PM格式(12时制):%tr%n",date);
//t的使用
System.out.printf("HH:MM:SS格式(24时制):%tT%n",date);
//R的使用
System.out.printf("HH:MM格式(24时制):%tR",date);
}
系统当前时间是: Fri Nov 01 15:30:40 CST 2019
全部日期和时间信息:星期五 十一月 01 15:30:40 CST 2019
年-月-日格式:2019-11-01
月/日/年格式:11/01/19
HH:MM:SS PM格式(12时制):03:30:40 下午
HH:MM:SS格式(24时制):15:30:40
HH:MM格式(24时制):15:30