欢迎访问宙启技术站
智能推送

简单易懂的Java日期时间函数教学

发布时间:2023-06-08 11:41:09

Java日期时间函数是开发中必不可少的基础函数,也是实现一些复杂逻辑业务的基础。本文将为大家介绍Java日期时间函数的相关知识,帮助大家更好的掌握这些基础函数。

一、Java日期类

Java日期类是用于对日期和时间进行处理的类,包括Date、Calendar、SimpleDateFormat等。

1.Date类

Date类表示特定的瞬间,精确到毫秒。可以通过无参构造函数获取当前的时间。

使用示例:

Date date = new Date();
System.out.println(date); // 输出当前时间:Wed May 19 16:47:22 CST 2021

2.Calendar类

Calendar类是日历类,可以进行日期和时间的计算。可以通过getInstance()方法获取Calendar实例。

使用示例:

Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR); // 获取当前年份
int month = calendar.get(Calendar.MONTH); // 获取当前月份
int day = calendar.get(Calendar.DAY_OF_MONTH); // 获取当前月的第几天

3.SimpleDateFormat类

SimpleDateFormat类用于将Date对象格式化为指定格式的日期字符串,也可以将日期字符串转换成Date对象。

使用示例:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = sdf.format(new Date()); // 将当前时间格式化为指定字符串格式
Date date = sdf.parse(dateStr); // 将指定字符串格式的时间转换为Date对象

二、Java时间戳

时间戳表示从1970年1月1日00:00:00(UTC,即协调世界时)开始所经过的毫秒数。

1.System.currentTimeMillis()

System.currentTimeMillis()方法返回当前时间的时间戳,单位为毫秒。

使用示例:

long timestamp = System.currentTimeMillis();
System.out.println(timestamp); // 输出当前时间戳

2.Date.getTime()

Date类的getTime()方法返回当前对象对应的时间戳。

使用示例:

Date date = new Date();
long timestamp = date.getTime();
System.out.println(timestamp); // 输出当前时间戳

三、Java时间比较

在开发中常常需要对时间进行比较,判断哪个时间早、晚。使用Java进行时间比较需要将时间转换成时间戳。

使用示例:

Date date1 = new Date();
Date date2 = new Date();
long timestamp1 = date1.getTime();
long timestamp2 = date2.getTime();
if(timestamp1 > timestamp2) {
    System.out.println("date1晚于date2");
} else if(timestamp1 < timestamp2) {
    System.out.println("date1早于date2");
} else {
    System.out.println("date1等于date2");
}

四、Java日期加减

Calendar类可以进行日期和时间的计算,对日期进行加减操作可以使用add()方法。

使用示例:

Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date()); // 设置日期
calendar.add(Calendar.DAY_OF_MONTH, 2); // 将日期加2天
Date date = calendar.getTime(); // 获取计算后的日期

五、Java日期格式化

SimpleDateFormat类可以将Date对象格式化为指定格式的日期字符串。

使用示例:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = sdf.format(new Date()); // 将当前时间格式化为指定字符串格式
System.out.println(dateStr); // 输出格式化后的日期字符串

六、Java日期解析

SimpleDateFormat类的parse()方法可以将指定格式的日期字符串解析为Date对象。

使用示例:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse("2021-05-19 17:26:44"); // 将指定字符串格式的时间解析为Date对象
System.out.println(date); // 输出解析后的Date对象

七、Java日期时间戳互转

Date类的getTime()方法可以将Date对象转换为时间戳;new Date(timestamp)可以将时间戳转换为Date对象。

使用示例:

Date date = new Date();
long timestamp = date.getTime(); // 将Date对象转换为时间戳
Date date2 = new Date(timestamp); // 将时间戳转换为Date对象
System.out.println(date.equals(date2)); // 输出true,说明转换成功

以上就是Java日期时间函数的相关知识,希望能对大家有所帮助。