简单易懂的Java日期时间函数教学
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日期时间函数的相关知识,希望能对大家有所帮助。
