Java 日期时间相关类的使用


Date 类用于表示时间和日期,由于开发时并没有考虑国际化,所以后来又新设计了 Calendar 类和 DateFormat 类。

一、Date类

1.Date类概述

  • Date 类表示特定的瞬间,精确到毫秒。
  • Date 类是通过时间原点1970.01.01 00:00:00:000) 和 毫秒值long类型)来计算时间的。
  • Date 类来自 java.util 包,使用时需要导入包。

2.Date类常用的方法

构造方法

public Date()
分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。

//打印当前系统日期
Date d = new Date();
System.out.println(d);

public Date(long date)
分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。

//打印从标准基准时间以后的指定毫秒数的对应时间。
Date d = new Date(0L);
System.out.println(d);

成员方法

long getTime()
返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

//打印从基准时间到当前时间的毫秒数
Date d = new Date();
System.out.println(d.getTime());

二、Calendar类

1.Calendar类概述

  • Calendar 类是一个抽象类。
  • 提供了与日历相关的字段。
  • Calendar 的 getInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化。

2.Calendar常用方法

先看一下常用的日历字段常量
在这里插入图片描述

成员方法

int get(int field)
参数:传递特定的日历字段。
返回值:返回给定日历字段的值。

//使用getInstance()创建对象
Calendar c = Calendar.getInstance();
//获取当前年份
int year = c.get(Calendar.YEAR);
//获取当前月份(西方月份从 0 开始,因此需要 + 1)
int month = c.get(Calendar.MONTH) + 1;
//获取当前日期
int date = c.get(Calendar.DATE);

System.out.println(year+"年"+month+"月"+date+"日");

void set(int field, int value)
参数:传递日历字段。
           给指定字段传值

//使用getInstance()创建对象
Calendar c = Calendar.getInstance();
//单独设置年月日
c.set(Calendar.YEAR,2000);
c.set(Calendar.MONTH,02);
c.set(Calendar.DATE,20);
//可以同时设置 年、月、日
c.set(2200,03,05);
//设置完之后可用get方法取出,不在演示

abstract void add(int field, int amount)
参数:传递日历字段。
           增减或减少的值(正数增加,负数减少)

//使用getInstance()创建对象
Calendar c = Calendar.getInstance();
//减少指定年份
c.add(Calendar.YEAR,-3);
//增加指定月份
c.add(Calendar.MONTH,3);

Date getTime()
返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象。

//创建日历对象
Calendar c = Calendar.getInstance();
//调用getTime方法
Date date = c.getTime();
System.out.println(date);

三、DateFormat类

1.DateFormat类概述

  • DateFormat 类是日期/时间格式化子类的抽象类(必须使用它的子类SimpleDateFormat类 来创建对象)。
  • DateFormat 类可以完成日期和文本之间的转换
  • DateFarmat 类来自 java.text 包,使用时需要导入包。

2.日期和时间格式

稍微了解,在下面的代码中会有具体的使用

在这里插入图片描述
在这里插入图片描述

3.[Simple]DateFormat类常用方法

SimpleDateFormat的构造方法

SimpleDateFormat(String pattern)
用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。

//规定需要转换的日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");

DateFormat的成员方法

String format(Date date)
将一个 Date 格式化为日期/时间字符串。

//规定需要转换的日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
//获取当前日期
Date d = new Date();
//日期转文本
String str = sdf.format(d);
System.out.println(str);

Date parse(String source)
从给定字符串的开始解析文本,以生成一个日期

//规定需要转换的日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
//文本转日期
Date date = sdf.parse("2020年07月15日 19时04分40秒");
System.out.println(date);

猜你喜欢

转载自blog.csdn.net/weixin_44580492/article/details/107367202