投稿 资料上传 搜索
您现在的位置是: 首页 > 文章 > 正文

java中Calendar类的使用讲解

Calendar类是我们在工作中经常用到时间相关的一个工具类;比如月初、月末、年初、年末、指定月份所在季度的季末等操作,对它有更深入的了解,在工作中会起到事半功倍的效果,下面就来了解一下吧!!!

**一.Calendar类概述
Calendar是日历类,该类将所有可能用到的时间信息封装为静态成员变量,方便获取。常用方法如下如下:

//根据日历的规则,为给定的日历字段添加或减去指定的时间量。 abstract void add(int field, int amount) //判断此 Calendar 表示的时间是否在指定 Object 表示的时间之后,返回判断结果。 boolean after(Object when) // 判断此 Calendar 表示的时间是否在指定 Object 表示的时间之前,返回判断结果。 boolean before(Object when) //给定此 Calendar 的时间值,返回指定日历字段可能拥有的最大值。 int getActualMaximum(int field) // 给定此 Calendar 的时间值,返回指定日历字段可能拥有的最小值。 int getActualMinimum(int field) // 获取一星期的第一天;例如,在美国,这一天是 SUNDAY,而在法国,这一天是 MONDAY。 int getFirstDayOfWeek() //返回此 Calendar 实例给定日历字段的最高的最小值。 abstract int getGreatestMinimum(int field) //使用默认时区和语言环境获得一个日历。 static Calendar getInstance() //使用默认时区和指定语言环境获得一个日历。 static Calendar getInstance(Locale aLocale) // 使用指定时区和默认语言环境获得一个日历。 static Calendar getInstance(TimeZone zone) //使用指定时区和语言环境获得一个日历。 static Calendar getInstance(TimeZone zone, Locale aLocale) //返回此 Calendar 实例给定日历字段的最低的最大值。 abstract int getLeastMaximum(int field) //返回此 Calendar 实例给定日历字段的最大值。 abstract int getMaximum(int field) // 获取一年中第一个星期所需的最少天数,例如,如果定义第一个星期包含一年第一个月的第一天,则此方法将返回 1。 int getMinimalDaysInFirstWeek() // 设置一星期的第一天是哪一天;例如,在美国,这一天是 SUNDAY,而在法国,这一天是 MONDAY。 void setFirstDayOfWeek(int value) // 设置一年中第一个星期所需的最少天数,例如,如果定义第一个星期包含一年第一个月的第一天,则使用值 1 调用此方法。 void setMinimalDaysInFirstWeek(int value) // 使用给定的 Date 设置此 Calendar 的时间。 void setTime(Date date) // 用给定的 long 值设置此 Calendar 的当前时间值。 void setTimeInMillis(long millis) //返回此日历的字符串表示形式。 String toString()

注:Calendar类的属性有很多,比如:
YEAR 年
MONTH 月(注意:从0开始算起,最大11;0代表1月,11代表12月)
DATE 天
HOUR 时
MINUTE分
SECOND秒

**二.使用案列如下:

Calendar calendar=Calendar.getInstance(); //通过getInstance方法获取Calendar的引用; calendar.setTime(new Date()); System.out.println("现在时间是:"+new Date()); String year=String.valueOf(calendar.get(Calendar.YEAR)); //现在是那一年 String month=String.valueOf(calendar.get(Calendar.MONTH)+1); //现在是几月份 String day=String.valueOf(calendar.get(Calendar.DAY_OF_MONTH)); //现在是月份的第几天 String week=String.valueOf(calendar.get(Calendar.DAY_OF_WEEK)-1); //现在是星期几 System.out.println("现在时间是:"+year+"年"+month+"月"+day+"日,星期"+week); long year2016=calendar.getTimeInMillis(); calendar.set(1989,9,26);//这里与真实的月份之间相差1 //设置时间 (year,month,day) long year1989=calendar.getTimeInMillis(); long days=(year2016-year1989)/(1000*60*60*24); System.out.println("今天和1989年10月26日相隔"+days+"天,"+"也就是说我在这个美丽的星球上已经幸福的生活了"+days+"天。"); 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));//获取设置后的那天是当星期中的第几天

转载于:

文章标签:
阿里云服务器采购季
给作者打赏,鼓励TA抓紧创作!
评论