JAVA学习进阶篇之时间与日期相关类
在Java中,有许多时间与日期相关的类,如Date
、Calendar
、SimpleDateFormat
等,这些类能够方便地进行时间和日期的转换和操作。本篇文章将介绍Java中的时间与日期相关类的使用方法及其常用操作。
1. Date 类
Date
类是一个包含日期和时间的对象,在Java中非常基础和常用,可以用于表示当前时间或指定时间的日期。可以使用 Date()
构造器创建一个表示当前日期和时间的 Date
对象。也可以使用其他多个构造器来创建指定日期的 Date
对象。
示例1:使用 Date()
构造器创建对象
import java.util.Date;
public class DateExample {
public static void main(String args[]) {
// 创建一个 Date 对象,表示当前时间
Date date = new Date();
System.out.println("当前时间是: " + date);
}
}
输出结果如下:
当前时间是: Fri Feb 18 17:13:32 CST 2022
Date
类提供了一些方法来获取或设置日期值,例如:
getTime()
:获取当前对象代表的时间的毫秒数。setTime(long time)
:设置当前对象的时间值为指定的毫秒数。
示例2:获取和设置 Date
对象的时间值
import java.util.Date;
public class DateExample {
public static void main(String args[]) {
// 创建一个 Date 对象,表示当前时间
Date date = new Date();
// 获取当前时间的毫秒数
long milliseconds = date.getTime();
System.out.println("当前时间的毫秒数是: " + milliseconds);
// 设置当前对象的时间值为指定的毫秒数
date.setTime(1587938999000L);
System.out.println("设置后的日期为:" + date);
}
}
输出结果如下:
当前时间的毫秒数是: 1645181807932
设置后的日期为:Mon Apr 27 16:23:19 CST 2020
2. Calendar 类
Calendar
类是一个抽象类,提供了处理和操作日期的方法,如获取特定时间的天数、星期、月份等。获取 Calendar
实例需要使用 getInstance()
方法,此方法会根据当前时区和当前语言环境返回一个 Calendar
对象。
示例1:获取指定年月的日历
import java.util.Calendar;
public class CalendarExample {
public static void main(String[] args) {
// 获取指定年月的日历
Calendar calendar = Calendar.getInstance();
calendar.set(2022, Calendar.JANUARY, 18);
System.out.println("日期:" + calendar.getTime());
System.out.println("星期:" + calendar.get(Calendar.DAY_OF_WEEK));
System.out.println("月份:" + calendar.get(Calendar.MONTH));
System.out.println("年份:" + calendar.get(Calendar.YEAR));
}
}
输出结果如下:
日期:Mon Jan 18 16:42:13 CST 2022
星期:2
月份:0
年份:2022
使用 set()
方法设置新的日期时间值,获取不同属性表达式的方法如下:
Calendar.DAY_OF_WEEK
获取当前日期的星期。Calendar.MONTH
获取当前日期的月份,返回的值从0表示1月,到11表示12月。Calendar.YEAR
获取当前日期的年份。
Calendar
类还提供了一些其他的方法,例如 add()
或 roll()
方法可以增加或减少一段时间,它们的区别是 add()
方法会修改这个时间字段的值,而 roll()
方法则不会。
示例2:增加日期的操作
import java.util.Calendar;
public class CalendarExample {
public static void main(String[] args) {
// 获取当前的日期
Calendar calendar = Calendar.getInstance();
System.out.println("设置前的日期: " + calendar.getTime());
// 增加一年
calendar.add(Calendar.YEAR, 1);
System.out.println("增加一年后的日期: " + calendar.getTime());
// 增加一个月
calendar.add(Calendar.MONTH, 1);
System.out.println("增加一个月后的日期: " + calendar.getTime());
// 增加一天
calendar.add(Calendar.DATE, 1);
System.out.println("增加一天后的日期: " + calendar.getTime());
// 增加一个小时
calendar.add(Calendar.HOUR, 1);
System.out.println("增加一个小时后的日期: " + calendar.getTime());
}
}
输出结果如下:
设置前的日期: Sat Feb 19 00:23:17 CST 2022
增加一年后的日期: Sun Feb 19 00:23:17 CST 2023
增加一个月后的日期: Sun Mar 19 00:23:17 CST 2023
增加一天后的日期: Mon Mar 20 00:23:17 CST 2023
增加一个小时后的日期: Mon Mar 20 01:23:17 CST 2023
3. SimpleDateFormat 类
SimpleDateFormat
类是 Java 中用于日期时间格式化的类,通过 SimpleDateFormat
可以将一个日期转换成指定格式的文本,或将一个指定格式的文本转换成日期。
示例1:将日期转换成指定格式的文本
import java.util.Date;
import java.text.SimpleDateFormat;
public class SimpleDateFormatExample {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = sdf.format(date);
System.out.println("当前时间为:" + time);
}
}
输出结果如下:
当前时间为:2022-02-19 15:27:11
在上面的示例中,通过 SimpleDateFormat
的 format()
方法将当前时间转换为指定格式的文本,其中 yyyy
表示年份,MM
表示月份,dd
表示日期,HH
表示小时,mm
表示分钟,ss
表示秒。
示例2:将指定格式的文本转换成日期
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatExample {
public static void main(String[] args) throws Exception {
String time = "2022-02-19 15:27:11";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(time);
System.out.println("转换后的日期为:" + date);
}
}
输出结果如下:
转换后的日期为:Sat Feb 19 15:27:11 CST 2022
在上面的示例中,通过 SimpleDateFormat
的 parse()
方法将指定格式的文本转换为日期对象。
总结
本文主要介绍了Java中的时间与日期相关类的使用方法及其常用操作。通过这些类,可以方便地对时间和日期进行转换和操作,为Java开发者提供了很大的便利。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA学习进阶篇之时间与日期相关类 - Python技术站