Java日期时间类

Java日期时间类
Date类
Java提供的Date类和Calendar类用于处理日期和时间的类,包括创建日期,时间对象,获取系统当前日期,时间
等操作。但Date类无法实现国际化,注意,月份与小时都是以0开始,而月份中的天数则是以1开始,年是以1990
年开始。
Date类提供的主要构造器:
Date()生成一个代表当前日期时间的Date对象,该构造器在底层调用System.currentTimeMillis()获long整数作为日期参数
Date(long date):根据指定的long型整数来生成一个Date对象,该构造器的参数表示创建的Date对象和GMT 1970-01-01 00:00:00该对象的时间差
以毫秒作为计时单位。
方法:
long getTime():返回该时间对应的long型整数,即从GMT 1970-01-01 00:00:00该对象的时间差,以毫秒作为计时单位
void setTime(long time):设置该date对象的时间
实例:
public class DateTest{
public static void main(String[] args){
Date d1=new Date();
//获取当前时间之后100ms的时间
Date d2=new Date(System.currentTimeMillis()+100);
System.out.println(d2);
System.out.println(d1.compareTo(d2));
}
}
Calendar类
Java提供了更好的类来处理日期和时间,Calendar是一个抽象类,他表示日历
Calendar是一个抽象类,它是所以日历类的模版,并提供了一些所有日历通用的方法,同时
不能使用构造器来创建Calendar类,但他提供了几个静态的getInstance()方法来获取Calendar对象
这些方法根据TimeZone和Locale类来获取特定的Calendar
Calendar和Date类可以自由转换
//创建一个系统默认的Calendar对象
Calendar calendar=Calendar.getInstance();
//从Calendar中取出Date对象
Date date=calendar.getTime();
//通过Date对象获得对应的Calendar对象
//因为Calendar和GregorianCalendar没有构造函数可以接收Date对象
//所以必须先获取一个Calendar实例,然后调用其setTime()方法
Calendar calendar2=Calendar.getInstance();
calendar2.setTime(date);
Calendar提供了大量访问,修改日期和时间的方法:
void add(int field,int amount):根据日历规则,为给定的字段添加或减去指定的时间量
void roll(int field,int amount):与add方法相似,区别是加上amount后超过了该字段所能表示的最大
范围时,也不会向上一个自动进位
void set(int field,int value):将给定的日历字段设置为给定的值
void set(int year,int month,int date):将给定的日历字段设置为给定的值
void get(int field):返回指定日历字段的year,month,date三个字段的值
public class CalendarTest{
public static void main(String[] args){
Calenda calendar=Calendar.getInstance();
System.out.println(calendar.get(YEAR));
System.out.println(calendar.get(MONTH));
//2004-10-23-\ 21:1:2
System.out.println(calendar.set(2004,10,23,21,1,2));
System.out.println(calendar.get(Date));
//将Calendar向后推一年
System.out.println(calendar.add(YEAR,1));
//将Calendar向前推8个月
System.out.println(calendar.roll(MONTH,8));
}
}
//YEAR,MONTH,DATE是Calendar中的静态常量,可以直接使用
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值