Calendar对日期的操作

Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEARMONTHDAY_OF_MONTHHOUR 等 日历之间之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。

该类提供了操作日期的方法,如:获得某个时间是本周或本月的第几天,获得几天前,几小时前的时间,比较两个时间等等。

本文主要记载常用的如public int get(int field)public boolean after(Object when)public abstract void add(int field,int amount)方法。

在代码开始之前,先附上本文所用的时间日历,方便对比:



import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class CalendarDemo {

	public static void main(String[] args) {
		
		SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss:SSS");
		//当前时间
		Date nowTime = new Date();
		System.out.println("当前时间为:"+sf.format(nowTime));
		//获得Calendar类对象
		Calendar calendar = Calendar.getInstance();
		//将calendar的时间设置为当前时间,
		calendar.setTime(nowTime);
		/*
		 * Calendar类的public int get(int field)方法
		 * 其中field在Calendar中都有定义,比如:
		 * Calendar.DAY_OF_WEEK Calendar.DAY_OF_YEAR等
		 */
		//获得改时间的年份,同理,也可以获得月份,日期,小时等等
		System.out.println("今年是"+calendar.get(Calendar.YEAR)+"年");
		//打印该时间是所在周的第几天,从周日开始算
		System.out.println("今天是本周的第"+calendar.get(Calendar.DAY_OF_WEEK)+"天");
		//打印该时间是所在月的第几天
		System.out.println("今天是本月的第"+calendar.get(Calendar.DAY_OF_MONTH)+"天");
		/*
		 * 日期的加减法
		 * field表示你要操作的节点,如:年,月,日等
		 */
		//获得24小时之前的时间
		calendar.add(Calendar.HOUR,-24);
		Date tenHoursAgo = calendar.getTime();
		System.out.println("24小时前的时间是:"+sf.format(tenHoursAgo));
		
		/*
		 * 日期的比较
		 * Calendar类的public boolean after(Object when)方法
		 * 该方法比较calendar中的时间是否在所比较的时间之后
		 */
		calendar.setTime(nowTime);
		System.out.println("当前时间:"+sf.format(nowTime)+"是否在该时间:"+sf.format(tenHoursAgo)+"之后:"+calendar.after(tenHoursAgo));
	}
}
打印结果如下:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值