广州网站建设weeken,淮南seo,定制软件开发流程图,北京网站建设 降龙网Java Calendar 是时间操作类,Calendar 抽象类定义了足够的方法#xff0c;在某一特定的瞬间或日历上#xff0c;提供年、月、日、小时之间的转换提供方法
一、获取具体时间信息
1. 当前时间
获取此刻时间的年月日时分秒
Calendar calendar Calendar.getInstance();
int …Java Calendar 是时间操作类,Calendar 抽象类定义了足够的方法在某一特定的瞬间或日历上提供年、月、日、小时之间的转换提供方法
一、获取具体时间信息
1. 当前时间
获取此刻时间的年月日时分秒
Calendar calendar Calendar.getInstance();
int year calendar.get(Calendar.YEAR);
int month calendar.get(Calendar.MONTH) 1;
int day calendar.get(Calendar.DATE);
System.out.println(year 年 month 月 day 日);
//输出时间2023年2月28日2. 指定时间
使用自定义时间或者某个请求中的时间 a使用date类
//查看源码可以发现year year 1900month month 1
Date date new Date(123, 1, 28,14,28,0);
Calendar calendar Calendar.getInstance();
calendar.setTime(date);
int year calendar.get(Calendar.YEAR);
int month calendar.get(Calendar.MONTH) 1;
int day calendar.get(Calendar.DATE);
System.out.println(year 年 month 月 day 日);
//输出时间2023年2月28日b使用calendar类
Calendar calendar Calendar.getInstance();
calendar.set(2023,2,28,14,36,0);
int year calendar.get(Calendar.YEAR);
//这里指定了月份所以不需要1
int month calendar.get(Calendar.MONTH);
int day calendar.get(Calendar.DATE);
System.out.println(year 年 month 月 day 日);
//输出时间2023年2月28日二、指定偏移量时间
可以指定出任意一段时间
//当前时间2023-2-28
Calendar calendar Calendar.getInstance();
//3年前
calendar.add(Calendar.YEAR, -3);
//2月后
calendar.add(Calendar.MONTH, 2);
//7天后默认每个月30天
calendar.add(Calendar.DAY_OF_YEAR, 7);
int year calendar.get(Calendar.YEAR);
int month calendar.get(Calendar.MONTH);
int day calendar.get(Calendar.DATE);
System.out.println(year 年 month 月 day 日);
//输出时间2020年4月5日三、时区使用
可以设置时区
Calendar calendar Calendar.getInstance();
//表示东一区
TimeZone timeZone TimeZone.getTimeZone(GMT1);
calendar.setTimeZone(timeZone);
int year calendar.get(Calendar.YEAR);
int month calendar.get(Calendar.MONTH) 1;
int day calendar.get(Calendar.DATE);
int hour calendar.get(Calendar.HOUR_OF_DAY);
System.out.println(year 年 month 月 day 日 hour 时);
//输出时间2023年2月28日7时当前时间2023年2月28日14时//表示西一区
TimeZone timeZone TimeZone.getTimeZone(GMT-1);
//输出时间2023年2月28日5时当前时间2023年2月28日14时//互联网时间
TimeZone timeZone TimeZone.getTimeZone(GMT);
//输出时间2023年2月28日6时当前时间2023年2月28日14时四、Calendar类中的静态常量
常量描述Calendar.YEAR年份Calendar.MONTH月份Calendar.DATE当前时间为多少号日历式的多少号Calendar.HOUR小时12小时制Calendar.HOUR_OF_DAY小时24小时制Calendar.MINUTE分钟数Calendar.SECOND秒数Calendar.MILLENSECOND毫秒数Calendar.WEEK_OF_MONTH当前时间是所在月的第几个星期日历式的第几周Calendar.WEEK_OF_YEAR当前时间是所在当前年的第几个星期Calendar.DAY_OF_WEEK_IN_MONTH当前时间是所在月的第几个星期以月份天数为标准一个月的1号为第一周8号为第二周Calendar.DAY_OF_WEEK一周七天中当前时间是一周中的第几天星期天为第一天Calendar.DAY_OF_YEAR一年中的第几天Calendar.DAY_OF_MONTH一个月中的第几天结果等同于Calendar.DATECalendar.AM_PM上午还是下午0表示上午1表示下午
五、Calendar类中的常用方法
方法描述Calendar getInstance获得一个日历对象重要Date getTime返回当前时间long getTimeInMillis返回当前时间毫秒值void setTimeInMillis(long millis)用毫秒值设置Calendar的时间int get(int field)获得给定时间域的值如Calendar.DATEvoid set(int field, int value)用给定的值设置时间域void clear()清除所有的时间域void clear(int field)清除指定时间域的值set(int year, int month,int date,int hour,int minute,int second)设置年、月、日、时、分、秒域的数值void complete()填充时间域列表中所有未设置的域boolean equals(Object obj)比较该日历和指定的对象boolean before(Object when)比较时间域大小boolean after(Object when)比较时间域大小void add(int field,int amount)将指定 ( 带符号的 ) 数量的时间添加到给定的时间域void roll(int field,boolean up)在给定的时间域上 ( 向上true / 向下false ) 滚动一个时间单元void setTimeZone(TimeZone value)用给定的时区值设置时区TimeZone getTimeZone()获得当前时区void setMinimalDaysInFirstWeek(int value)设置该年中第一个星期所需要的最少的天数。例如如果定义第一个星期包含一年第一个月的第一天用值 1 调用该方法。如果它必须是一个完整的星期使用 7 调用该方法int getMinimalDaysInFirstWeek()原理同上int getMinimum(int field)获得给定时间域最小值如对于DAY_OF_MONTH最小值为11号int getMaximum(int field)获得给定时间域最大值如对于DAY_OF_MONTH最小值为3131号String toString()返回日历的字符串表示
六、Calendar转化为Date
Calendar calendar Calendar.getInstance();
Date date calendar.getTime();
SimpleDateFormat dateFormat new SimpleDateFormat(yyyy-MM-dd);
System.out.println(dateFormat.format(date));注意项\color{red}{注意项}注意项 month 是从0开始的也就是全年月份是0 ~ 11 DAY_OF_WEEK 是从星期天开始的也就是星期一是2星期二是3。。。