java中和时间相关的类,方法

预备知识(关于时间)

  • 度量单位:毫秒
  • 表示毫秒数的变量的类型: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

原文地址:https://www.cnblogs.com/cstxx77/p/12840145.html