700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > JAVA07_Calendar的概述 Date的互转 常量字段 常用方法

JAVA07_Calendar的概述 Date的互转 常量字段 常用方法

时间:2020-03-01 14:17:32

相关推荐

JAVA07_Calendar的概述 Date的互转 常量字段 常用方法

文章目录

①. Calendar概述初始化②. Calendar与Date互转③. Calendar的常量字段④. Calendar常用方法⑤. Calendar其他方法

①. Calendar概述初始化

①. Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法

②. public static Calendar getInstance():创建Calendar对象,使用默认时区和环境获得一个日历

②. Calendar与Date互转

①. Calendar转化为Date

Calendar c2 = Calendar.getInstance();// Calendar对象转换成Date对象Date c2Date = c2.getTime();// 类似于new Date()

②. Date转化为Calendar

// 获取日历对象Calendar calendar = Calendar.getInstance();calendar.setTime(new Date());System.out.println(calendar);

③. Calendar的常量字段

// 获取日历对象Calendar calendar = Calendar.getInstance();calendar.setTime(new Date());// 获取日期字段值System.out.println(calendar.get(Calendar.ERA));// 纪元,公元前还是公元System.out.println(calendar.get(Calendar.YEAR));// 年份System.out.println(calendar.get(Calendar.MONTH));// 月份,需要加1,因为0表示1月,1表示2月,以此类推System.out.println(calendar.get(Calendar.HOUR));// 小时(12小时制)System.out.println(calendar.get(Calendar.HOUR_OF_DAY));// 一天中第几个小时(24小时制)System.out.println(calendar.get(Calendar.MINUTE));// 分钟System.out.println(calendar.get(Calendar.SECOND));// 秒System.out.println(calendar.get(Calendar.MILLISECOND));// 毫秒System.out.println(calendar.get(Calendar.DAY_OF_YEAR));// 一年中第几天System.out.println(calendar.get(Calendar.DAY_OF_MONTH));// 一月中第几天System.out.println(calendar.get(Calendar.DAY_OF_WEEK));// 一周中第几天,注意,周日是1,周一是2,...System.out.println(calendar.get(Calendar.DATE));// 一月中第几天,同DAY_OF_MONTH的值是一样的System.out.println(calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));// 当月内一周中的某天的序号System.out.println("Calendar.WEEK_OF_YEAR=" + calendar.get(Calendar.WEEK_OF_YEAR));// 一年中的星期数,即本年中第几个星期System.out.println("Calendar.WEEK_OF_MONTH=" + calendar.get(Calendar.WEEK_OF_MONTH));// 当前月中的星期数,即本月中第几个星期System.out.println(calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));// 当前月中的第几个星期System.out.println("Calendar.AM_PM=" + calendar.get(Calendar.AM_PM));// AM_PM是在中午之前还是在中午之后,在中午12点之前返回0,在中午12点(包括12点)之后返回1System.out.println(Calendar.JANUARY);// 1月System.out.println(Calendar.FEBRUARY);// 2月System.out.println(Calendar.MARCH);// 3月System.out.println(Calendar.APRIL);// 4月System.out.println(Calendar.MAY);// 5月System.out.println(Calendar.JUNE);// 6月System.out.println(Calendar.JULY);// 7月System.out.println(Calendar.AUGUST);// 8月System.out.println(Calendar.SEPTEMBER);// 9月System.out.println(Calendar.OCTOBER);// 10月System.out.println(Calendar.NOVEMBER);// 11月System.out.println(Calendar.DECEMBER);// 12月

④. Calendar常用方法

// 获取日历对象Calendar calendar = Calendar.getInstance();calendar.setTime(new Date());// 设置日期字段值calendar.set(, Calendar.JUNE, 3);// 设定指定年月日,其中Calendar.JUNE为5实际上是六月,所以0表示1月,1表示2月,以此类推System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(calendar.getTime()));calendar.set(, Calendar.FEBRUARY, 3, 23, 55);// 设置年月日时分System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(calendar.getTime()));calendar.set(, Calendar.MARCH, 3, 23, 55, 30);// 设置年月日时分秒calendar.set(Calendar.YEAR, );// 单独设置日历字段,设置年份calendar.set(Calendar.MONTH, 7);// 单独设置日历字段,设置月份,注意0代表1月calendar.set(Calendar.DATE, 11);// 单独设置日历字段,设置天数calendar.set(Calendar.HOUR_OF_DAY, 22);// 单独设置日历字段,设置小时calendar.set(Calendar.MINUTE, 45);// 单独设置日历字段,设置分钟calendar.set(Calendar.SECOND, 30);// 单独设置日历字段,设置秒calendar.set(Calendar.MILLISECOND, 235);// 单独设置日历字段,设置毫秒System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(calendar.getTime()));// 计算日期字段值,既可以为正数,又可以为负数calendar.add(Calendar.YEAR, 2);// 在当前日期的基础上添加年份,后年System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(calendar.getTime()));calendar.add(Calendar.YEAR, -1);// 在当前日期的基础上减去年份,昨年System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(calendar.getTime()));calendar.add(Calendar.MONTH, 1);// 添加月份,下个月calendar.add(Calendar.MONTH, -1);// 添加月份,上个月calendar.add(Calendar.DATE, 2);// 添加天数,后天calendar.add(Calendar.DATE, -1);// 添加天数,昨天calendar.add(Calendar.HOUR_OF_DAY, 1);// 添加小时,下一个小时calendar.add(Calendar.HOUR_OF_DAY, -1);// 添加小时,上一个小时calendar.add(Calendar.MINUTE, 20);// 添加分钟,下20分钟calendar.add(Calendar.MINUTE, -20);// 添加分钟,上20分钟calendar.add(Calendar.SECOND, 30);// 添加秒数,下30秒calendar.add(Calendar.SECOND, -30);// 添加秒数,上30秒calendar.add(Calendar.DATE, 7);// 添加周数,即添加7天,下一周calendar.add(Calendar.DATE, -7);// 添加周数,上一周System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(calendar.getTime()));

⑤. Calendar其他方法

// 其他方法,如after、beforeCalendar c3 = Calendar.getInstance();c3.set(Calendar.YEAR, );Calendar c4 = Calendar.getInstance();boolean after = c4.after(c3);// 判断c4的日期是否在c3之后System.out.println(after);boolean before = c3.before(c4);System.out.println(before);// 判断c3的日期是否在c4之前boolean equals = c3.equals(c4);// 判断c3的日期是否等于c4System.out.println(equals);int result = pareTo(c4);// 如果比较c3和c4,如果c3<c4则返回-1,如果c3==c4则返回0,c3>c4则返回1System.out.println(result);Calendar c5 = Calendar.getInstance();c5.clear();c5.set(Calendar.YEAR, );c5.set(Calendar.MONTH, 1);c5.set(Calendar.DAY_OF_MONTH, 30);System.out.println(c5.getTime());int lastDay = c5.getActualMaximum(Calendar.DAY_OF_MONTH);// 获取本月最后一天的号数int firstDay = c5.getActualMinimum(Calendar.DAY_OF_MONTH);// 获取本月第一天的号数System.out.println("本月最后一天:" + lastDay + ", 本月第一天:" + firstDay);// 获取毫秒数long timeInMillis = calendar.getTimeInMillis();// 返回此Calendar的时间值,以毫秒为单位int firstDayOfWeek = calendar.getFirstDayOfWeek();// 获取一个星期中的第一天System.out.println(firstDayOfWeek);TimeZone timeZone = calendar.getTimeZone();// 获取时区System.out.println(timeZone.getDisplayName());

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。