Java常用类库-Calendar类

作者: 白晓明 | 来源:发表于2019-04-10 16:49 被阅读0次

Calendar 是一个为提供在特定时间点和一组日历字段(如年、月、日、时、分、秒等)之间转换,以及操作日历字段(获取下周的日期)的抽象类。以格林威治标准时间(1970年1月1日 00:00:00)为基准。
Calendar 提供了一个获取此类型的一般有用对象的方法( getInstance() 方法),用于初始化日历对象。Calendar c = Calendar.getInstance();
Calendar 可以实现特定语言和样式的日历(如日文公历、日文繁体等)。

内部类
/*
* Calendar内部类用于从各种日期时间参数创建日历
*/
Calendar cal = new Calendar.Builder()
                .setInstant(1566545455).build();
常用常量字段
Calendar cal = Calendar.getInstance();
//获取年份
System.out.println(cal.get(Calendar.YEAR));
//获取月份,由于Calendar类中月份是从0开始的,所以需要在获取值上 加1
System.out.println(cal.get(Calendar.MONTH));
//获取当前月份的日期
System.out.println(cal.get(Calendar.DATE));
System.out.println(cal.get(Calendar.DAY_OF_MONTH));
//获取时
System.out.println(cal.get(Calendar.HOUR_OF_DAY));
//获取分
System.out.println(cal.get(Calendar.MINUTE));
//获取秒/毫秒
System.out.println(cal.get(Calendar.SECOND));
System.out.println(cal.get(Calendar.MILLISECOND));
//获取周几,从星期天开始,若值为4则对应星期三
System.out.println(cal.get(Calendar.DAY_OF_WEEK));
//某月中第几周
System.out.println(cal.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println(cal.get(Calendar.WEEK_OF_MONTH));
//一年的第几天
System.out.println(cal.get(Calendar.DAY_OF_YEAR));
//一年的第几周
System.out.println(cal.get(Calendar.WEEK_OF_YEAR));
//1表示下午,0表示上午
System.out.println(cal.get(Calendar.AM_PM));
//星期 SUNDAY - SATURDAY(星期天 - 星期六)
//月份 JANUARY - DECEMBER(一月 - 十二月)
//UNDECIMBER表示一年中的第十三个月
System.out.println(Calendar.DECEMBER);
常用方法
/*
 * 初始化Calendar对象
 *  getInstance方法有多个重载方法:
 *      getInstance(TimeZone zone)  使用指定时区和默认区域初始化对象
 *      getInstance(Locale aLocale) 使用默认时区和指定区域初始化对象
 *      getInstance(TimeZone zone, Locale aLocale)  同时指定时区和区域来初始化对象
 */
Calendar cal = Calendar.getInstance();
/*
 * 设置日历的年、月、日、时、分、秒等
 */
cal.set(2018, 3, 10);
System.out.println(cal.getTime());
/*
 * 返回指定的日历字段值
 */
System.out.println(cal.get(Calendar.DATE));
/*
 * setTime(Date date)使用给定的Date设置日历
 * getTime() 返回一个Date表示的时间
 */
cal.setTime(new Date());
System.out.println(cal.getTime());
/*
 * 添加或减少时间量
 */
cal.add(Calendar.DATE, -1);
System.out.println(cal.get(Calendar.DATE));
/*
 * 返回日历的时间戳
 */
System.out.println(cal.getTimeInMillis());

其他需要请查看官网API

相关文章

网友评论

    本文标题:Java常用类库-Calendar类

    本文链接:https://www.haomeiwen.com/subject/istoiqtx.html