预备知识(关于时间)
- 度量单位:毫秒
- 表示毫秒数的变量的类型:lang
- 标准时间:1970年7月1日00:00
- 1000毫秒=1秒;60秒=1分钟;60分钟=1小时
Date类
- 很原始的一个日期类,现在基本废弃不用,此处只做简要介绍
常用方法
- new Date():返回表示当前时间的一个时间对象
- new Date(long time):返回表示标准时间time毫秒后的时间对象
- getTime():返回当前距离标准时间的毫秒数
测试实现
1 //创建当前时间对象 2 Date da1=new Date(); 3 //创建标准时间后400000000豪秒后的时间对象 4 Date da2=new Date(400000000);
DateFormat类
- 抽象类,需要其子类SimpleDateFormate来实现
- 用于格式化输出时间对象
SimpleDateFormat类
- 继承实现DateFormat类
格式化的格式
- yyyy-MM-dd hh:mm:ss置于括号中
- 需提取年、月或者其他的日期中的几项时,定义成只有几个特定元素的格式就行
- 特殊标记不要变,他们有一种指定变量的能力,可以被识别
- 其他的例如“-”、“:”可以改成年月日
常用方法
- new SimpleDateFormat("yyyy-MM-dd hh:mm:ss")定义一个格式化的格式对象
- formate(时间对象)时间对象换算后以字符串形式return
- parse(特定日期格式的表示日期的字符串)把指定格式的表示时间的字符串识别转化为时间对象
测试实现
1 //创建当前时间对象 2 Date da1=new Date(); 3 //定义格式化格式 4 DateFormat df1=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); 5 //格式化输出 6 String str1=df1.format(da1); 7 System.out.println(str1);//2020-01-09 02:43:38 8 //另一种格式 9 DateFormat df2=new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒"); 10 String str2=df2.format(da1); 11 System.out.println(str2);//2020年01月09日 02时43分38秒 12 //格式化输入 13 Date da2=df2.parse("2020年01月09日 02时00分38秒");//此处抛出错误 14 Date da3=df2.parse("2020年1月9日 2时0分38秒"); 15 System.out.println(da2);//Thu Jan 09 02:00:38 CST 2020 16 System.out.println(da3);//Thu Jan 09 02:00:38 CST 2020,所以有没有0是一样的,可能存在某种自动转化 17 //获得特定元素 18 DateFormat df3=new SimpleDateFormat("yyyy年"); 19 String year=df3.format(da1); 20 System.out.println(year);//2020年
母 | 含义 | 示例 |
---|---|---|
y | 年份。一般用 yy 表示两位年份,yyyy 表示 4 位年份 | 使用 yy 表示的年扮,如 11; 使用 yyyy 表示的年份,如 2011 |
M | 月份。一般用 MM 表示月份,如果使用 MMM,则会 根据语言环境显示不同语言的月份 |
使用 MM 表示的月份,如 05; 使用 MMM 表示月份,在 Locale.CHINA 语言环境下,如“十月”;在 Locale.US 语言环境下,如 Oct |
d | 月份中的天数。一般用 dd 表示天数 | 使用 dd 表示的天数,如 10 |
D | 年份中的天数。表示当天是当年的第几天, 用 D 表示 | 使用 D 表示的年份中的天数,如 295 |
E | 星期几。用 E 表示,会根据语言环境的不同, 显示不 同语言的星期几 |
使用 E 表示星期几,在 Locale.CHINA 语 言环境下,如“星期四”;在 Locale.US 语 言环境下,如 Thu |
H | 一天中的小时数(0~23)。一般用 HH 表示小时数 | 使用 HH 表示的小时数,如 18 |
h | 一天中的小时数(1~12)。一般使用 hh 表示小时数 | 使用 hh 表示的小时数,如 10 (注意 10 有 可能是 10 点,也可能是 22 点) |
m | 分钟数。一般使用 mm 表示分钟数 | 使用 mm 表示的分钟数,如 29 |
s | 秒数。一般使用 ss 表示秒数 | 使用 ss 表示的秒数,如 38 |
S | 毫秒数。一般使用 SSS 表示毫秒数 | 使用 SSS 表示的毫秒数,如 156 |
原文:https://www.cnblogs.com/hbc314/p/12172184.html