掌握Java“时空”,工作中关于时间类的使用
一、Date类
概述
java.util.Date
类表示特定的瞬间,精确到毫秒。Date类的构造函数可以把毫秒值转成日期对象
构造方法
-
public Date() //以当前时间创建时间对象
-
public Date(long date) //分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即1970年1月1日00:00:00 GMT)以来的指定毫秒数。
-
简单来说:使用无参构造,可以自动设置当前系统时间的毫秒时刻;指定long类型的构造参数,可以自定义毫秒时刻。
//无参构造器,创建当前对象
System.out.println(new Date()); //Wed Nov 20 10:01:03 CST 2024
//有参构造器,用于创建一个表示特定时间戳的日期对象。时间戳是以毫秒为单位,从1970年1月1日00:00:00 GMT(格林尼治标准时间)开始计算的时间。
System.out.println(new Date(0L));//Thu Jan 01 08:00:00 CST 1970
二、DateFormat类
概述
DateFormat主要用于日期类Date和字符串之间的转换
- 格式化:按照指定的格式,从Date对象转换为String对象。(format)
- 解析:按照指定的格式,从String对象转换为Date对象。(parse)
构造方法
DateFormat是一个抽象类,不能直接实例化,常用的是它的子类 SimpleDateFormat
常用的构造方法
SimpleDateFormat(String pattern) 创建一个 SimpleDateFormat 对象,使用指定的日期和时间格式模式。
参数:
pattern:一个字符串,表示日期和时间的格式模式。
示例
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
//创建一个 SimpleDateFormat 对象,使用指定的日期和时间格式模式。
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = dateFormat.format(date);//2024-11-20 10:21:22
System.out.println(format);
String str = "2024-11-20 10:01:03";
try {
Date parse = dateFormat.parse(str);
System.out.println(parse);//Wed Nov 20 10:01:03 CST 2024
} catch (Exception e) {
//打印异常并记录
//todo
}
三、Calendar 类
概念
java.util.Calendar
是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。日历类就是方便获取各个时间属性的。
构造方法
Calendar为抽象类,由于语言敏感性,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,返回子类对象,如下:
Calendar静态方法
public static Calendar getInstance()
:使用默认时区和语言环境获得一个日历
Calendar类可以很方便的获取到周几,当月有多少天(30或31或28等),同时还可以方便的进行加一天,加一小时之类的计算
Calendar instance = Calendar.getInstance();
instance.setTime(date);//将date对象设置到日历中
Date time1 = instance.getTime();//获取对应的date对象
System.out.println(instance.get(Calendar.YEAR));//获取年份
标签:00,Java,掌握,对象,SimpleDateFormat,date,Date,时空,Calendar
From: https://www.cnblogs.com/wwgroup/p/18556310