Java提供了Date、Calendar两个类用于处理日期、时间。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

但Date的大部分构造器、方法已经过时,不在推荐使用,Calendar类又过于复杂,所以Java8推出了一套新的时间日期库。

 

 

Date常用的构造函数:

Date()     生成一个代表当前日期时间的Date对象,相当于Date(System.currentTimeMillis())

Date(long date)   指定时间戳,默认单位ms。距1970.1.1   00:00:00的毫秒数。

 

Date常用方法:

boolean  after(Date  date)    判断是否在该时间日期之后

boolean before(Date date)

long  getTime()    获取时间戳

void  setTime()   设置时间戳

 

少用Date,尽量用Calendar代替。

 

 

 

Calendar类常用方法:

Calendar calendar=Calendar.getInstance();     使用静态方法获取实例,默认为当前的时间日期
calendar.get(Calendar.YEAR)    获取指定字段的值,参数为预定义的常量,返回值均为int。月份比较特殊,0-11,0表示1月。
calendar.set(Calendar.YEAR,2020);   设置指定字段的值

calendar.set(2020,1,1); 同时设置年月日
calendar.set(2020,1,1,1,1,1);   同时设置年月日时分秒

calendar.add(Calendar.YEAR,2); 增加指定字段的值

calendar.add(Calendar.YEAR,-1); 可以为负数

参数、返回值均为int型。



Calendar类示例:

 1 package test;
 2 
 3 import java.util.Calendar;
 4 
 5 //需要实现Cloneable接口
 6 public class Test{
 7        public static void main(String[] args) {
 8            //使用静态方法获取实例,默认为当前的时间日期
 9            Calendar calendar=Calendar.getInstance();
10            //获取年份,打YEAR选择即可
11            System.out.println(calendar.get(Calendar.YEAR));
12            //获取月份,月份从0-11,0表示1月
13            System.out.println(calendar.get(Calendar.MONTH));
14            //获取日
15            System.out.println(calendar.get(Calendar.DATE));
16            //获取时
17            System.out.println(calendar.get(Calendar.HOUR));
18            //设置指定字段的值
19            calendar.set(Calendar.YEAR,2020);
20            //同时设置年月日
21            calendar.set(2020,1,1);
22            //同时设置年月日时分秒
23            calendar.set(2020,1,1,1,1,1);
24            //增加指定字段的值,年份+1
25            calendar.add(Calendar.YEAR,1);
26            //可以为负数,年份-1
27            calendar.add(Calendar.YEAR,-1);
28        }
29 }

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄