时间、日期类

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

但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 }

猜你喜欢

转载自www.cnblogs.com/chy18883701161/p/10854516.html
今日推荐