Java 日期时间
Java.util
包提供了 Date 类来封装当前的日期和时间.Date 类提供俩个构造函数来实例化Data对象
第一个构造函数使用当前日期和时间来初始化对象
Data()
第二函数接受一个参数
Date(long millisec)
序号 | 方法和描述 |
---|---|
1 | boolean after(Date date) 若当调用此方法的Date对象在指定日期之后返回true,否则返回false。 |
2 | boolean before(Date date) 若当调用此方法的Date对象在指定日期之前返回true,否则返回false。 |
3 | Object clone( ) 返回此对象的副本。 |
4 | int compareTo(Date date) 比较当调用此方法的Date对象和指定日期。两者相等时候返回0。调用对象在指定日期之前则返回负数。调用对象在指定日期之后则返回正数。 |
5 | int compareTo(Object obj) 若obj是Date类型则操作等同于compareTo(Date) 。否则它抛出ClassCastException。 |
6 | boolean equals(Object date) 当调用此方法的Date对象和指定日期相等时候返回true,否则返回false。 |
7 | long getTime( ) 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 |
8 | int hashCode( ) 返回此对象的哈希码值。 |
9 | void setTime(long time) 用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期。 |
10 | String toString( ) 把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。 |
以上表格摘自菜鸟教程
获取当前日期时间
实例
@Test
public void mian16() {
/*初始化*/
Date date = new Date();
/*使用toString来显示时间*/
System.out.println(date);
}
输出结果为:
使用 SimpleDateFormat 格式化日期
实例
@Test
public void mian17() {
/*初始化*/
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
/* MM 是月份,mm 是分;HH 是 24 小时制,而 hh 是 12 小时制*/
System.out.println("时间为:" + simpleDateFormat.format(date));
}
解析字符串为时间
实例
@Test
public void main18() throws ParseException {
/*设置格式*/
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
/*定义时间字符串*/
String time = "2021-11-11";
/*设置时间字符串*/
String input = time.length() == 0 ? "null" : time;
Date date;
/*使用parse方法将字符串转化为时间*/
date = simpleDateFormat.parse(input);
System.out.println(date);
}
输出结果为:
Calendar类
我们现在已经能够格式化并创建一个日期对象了,但是在开发中我们如何才能设置和获取日期数据的特定部分呢,比如具体说小时,日,或者分钟? 我们又如何在日期的这些部分加上或者减去值呢? 答案是使用Calendar 类。
创建一个代表系统当前日期的Calendar对象
@Test
public void mian19() {
/*创建一个代表系统当前日期的Calendar对象*/
Calendar instance = Calendar.getInstance();
/*创建一个指定日期的Calendar对象*/
instance.set(1997,12,24);
System.out.println(instance);
}
运行结果如下:
//代码截取片段
YEAR=1997,MONTH=12,WEEK_OF_YEAR=46,WEEK_OF_MONTH=2,DAY_OF_MONTH=24
Add设置
//把c1对象的日期加上10,也就是c1也就表示为10天后的日期
Calendar c1 = Calendar.getInstance();
c1.add(Calendar.DATE, 10);
Calendar类对象字段类型
常量 | 描述 |
---|---|
Calendar.YEAR | 年份 |
Calendar.MONTH | 月份 |
Calendar.DATE | 日期 |
Calendar.DAY_OF_MONTH | 日期,和上面的字段意义完全相同 |
Calendar.HOUR | 12小时制的小时 |
Calendar.HOUR_OF_DAY | 24小时制的小时 |
Calendar.MINUTE | 分钟 |
Calendar.SECOND | 秒 |
Calendar.DAY_OF_WEEK | 星期几 |