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 }
原文地址:https://www.cnblogs.com/chy18883701161/p/10854516.html
时间: 2024-11-09 09:56:47