掌握Java“时空”,工作中关于时间类的使用

掌握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));//获取年份

posted on   oYYo  阅读(83)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示