操作日期

使用java.util.Calendar来操作日期:
Calendar是一个抽象的类。所以无法取得Calendar的实例,但是可以取得它的具体子类的实例。
取得继承过的Calendar对象
调用Calendar的静态method,getInstance()会返回给你具体子类的实例:

Calendar cal = Calendar.getInstance();

运用Calendar对象

  • 字段会保存状态:Calendar对象使用许多字段来表示某些事物的最终状态,也就是日期和时间。
  • 日期和时间可以运算:Calendar方法可以让你对不同的字段作加法或减法的运算。
  • 日期与时间可以用milisecond来表示:Calendar可以让你将日期转换成微秒的表示法,或将微秒转换成日期。

范例:

Calendar c = Calendar.getInstance();
//将时间设为2021年4月17日15:40
c.set(2021, 4, 17, 15, 40);
//将目前时间转换为以millisecond表示
long day1 = c.getTimeInMillis();
day1 += 1000*60*60;
//将c的时间加上一个小时
c.setTimeInMillis(day1);
System.out.println("new hour " + c.get(c.HOUR_OF_DAY));
//加上了35天,所以出已经到了5月
c.add(c.DATE, 35);
System.out.println("add 35 days " + c.getTime());
//滚动35天,注意只有日期字段会动
c.roll(c.DATE, 35);
System.out.println("roll 35 days " + c.getTime());
//直接设定DATE的值
c.set(c.DATE, 1);
System.out.println("set to 1 " + c.getTime());

重要方法:
add(int field, int amount)减时间值
get(int field)取出指定字段的值
getInstance()返回Calendar,可指定地区
getTimeInMillis() 以毫秒返回时间
roll(int field boolean up)加减时间值,不进位
set(int field, int value)设定指定字段的值
set(year, month, day, hour, minute)设定完整的时间
setTimeInMillis(long millis) 以毫秒指定时间

关键字段
DATE/DAY_OF_MONTH 每月的几号
HOUR/HOUR_OF_DAY 小时
MILLISECOND 毫秒
MINUTE 分钟
MONTH 月份
YEAR 年份
ZONE_OFFSET 时区位移

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值