Calendar c = Calendar.getInstance();
方法展示:
方法 |
描述
|
void add(int field, int amount)
|
根据日历的规则,为给定的日历字段
field
添加或减去指定的时间
量
amount
|
boolean after(Object when)
|
判断此
Calendar
表示的时间是否在指定时间
when
之后,并返回
判断结果
|
boolean before(Object when)
|
判断此
Calendar
表示的时间是否在指定时间
when
之前,并返回
判断结果
|
void clear()
|
清空
Calendar
中的日期时间值
|
int compareTo(Calendar
anotherCalendar)
|
比较两个
Calendar
对象表示的时间值(从格林威治时间
1970
年
01
月
01
日
00
时
00
分
00
秒至现在的毫秒偏移量),大则返回
1
,小则返回
-1
,相等返回
0
|
int get(int field)
|
返回指定日历字段的值
|
int getActualMaximum(int
field)
|
返回指定日历字段可能拥有的最大值
|
int getActualMinimum(int
field)
|
返回指定日历字段可能拥有的最小值
|
int getFirstDayOfWeek()
|
获取一星期的第一天。根据不同的国家地区,返回不同的值
|
static Calendar getInstance()
|
使用默认时区和语言坏境获得一个日历
|
static Calendar
getInstance(TimeZone zone)
|
使用指定时区和默认语言环境获得一个日历
|
static Calendar
getInstance(TimeZone zone,
Locale aLocale)
|
使用指定时区和语言环境获得一个日历
|
Date getTime()
|
返回一个表示此
Calendar
时间值(从格林威治时间
1970
年
01
月
01
日
00
时
00
分
00
秒至现在的毫秒偏移量)的
Date
对象
|
long getTimeInMillis()
|
返回此
Calendar
的时间值,以毫秒为单位
|
void set(int field, int value)
|
为指定的日历字段设置给定值
|
void set(int year, int month,
int date)
|
设置日历字段
YEAR
、
MONTH
和
DAY_OF_MONTH
的值
|
void set(int year, int month,
int date, int hourOfDay, int
minute, int second)
|
设置字段
YEAR
、
MONTH
、
DAY_OF_MONTH
、
HOUR
、
MINUTE
和
SECOND
的值
|
void setFirstDayOfWeek(int
value)
|
设置一星期的第一天是哪一天
|
Calendar 对象可以调用 set() 方法将日历翻到任何一个时间,当参数 year 取负数时表示公元前。Calendar 对象调用 get() 方法可以获取有关年、月、日等时间信息,参数 field 的有效值Calendar 静态常量指定。
- Calendar.YEAR:年份。
- Calendar.MONTH:月份。
- Calendar.DATE:日期。
- Calendar.DAY_OF_MONTH:日期,和上面的字段意义完全相同。
- Calendar.HOUR:12小时制的小时。
- Calendar.HOUR_OF_DAY:24 小时制的小时。
- Calendar.MINUTE:分钟。
- Calendar.SECOND:秒。
- Calendar.DAY_OF_WEEK:星期几。
常用方法演示:
1、void add(int field, int amount),根据日历的规则,为给定的日历字段 field 添加或减去指定的时间量 amount,第一个参数虽然传的为int类型,但Java官方怕我们记错所以可以用"Calendar."去得到我们想添加或减去的指定时间量,例如下列代码第一个参数传入"Calendar.DATE",代表在天数上添加或减去:
//获取默为当前时间的Calendar日期对象
Calendar c = Calendar.getInstance();
//格式化日期输出当前日期
System.out.printf("%tF %<tT%n",c);
//加五天
c.add(Calendar.DATE,5);
System.out.printf("%tF %<tT%n",c);
//在加五天的基础上减10天
c.add(Calendar.DATE,-10);
System.out.printf("%tF %<tT%n",c);
运行结果展示:
Calendar c = Calendar.getInstance();
//格式化输出当前日期
System.out.printf("%tF %<tT%n",c);
//清除日期
c.clear();
//格式化输出清除后的日期
System.out.printf("%tF %<tT%n",c);
运行展示:
3、int get(int field),返回指定日历字段的值 int 类型参数也可以用“Calendar.”来代替,这样更方便编程人员来识别使用。
代码演示:
Calendar c = Calendar.getInstance();
//按年月日时分秒依次输出
System.out.println(c.get(Calendar.YEAR));
System.out.println(c.get(Calendar.MONTH));
System.out.println(c.get(Calendar.DATE));
System.out.println(c.get(Calendar.HOUR));
System.out.println(c.get(Calendar.MINUTE));
System.out.println(c.get(Calendar.SECOND));
运行结果展示:
Calendar c = Calendar.getInstance();
//获得Date对象
Date date = c.getTime();
//利用Date对象获取时间戳
long l = date.getTime();
System.out.println(l);
运行结果演示:
5、long getTimeInMillis() ,4方法中获取时间戳的方法过于麻烦,我们可以利用此方法直接获取时间戳:
代码演示:
Calendar c = Calendar.getInstance();
//获取Calendar对象时间戳
long l = c.getTimeInMillis();
System.out.println(l);
6、void set(int field, int value) ,为指定的日历字段设置给定值,此方法们可以只针对年月日时分秒其中一项进行时间修改:
代码演示:
Calendar c = Calendar.getInstance();
//分别对年月日时分秒进行修改
c.set(Calendar.YEAR,2022);
c.set(Calendar.MONTH,1);
c.set(Calendar.DATE,1);
c.set(Calendar.HOUR,0);
c.set(Calendar.MINUTE,0);
c.set(Calendar.SECOND,0);
格式化输出修改后的Calendar对象
System.out.printf("%tF %<tT%n",c);
7、void set(int year, int month, int date),设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值。设置年月日,时分秒默认为00:00:00,使用此方法进行设置时要将想要设置的年份减1,否则得不到想要的结果。
代码演示:
Calendar c = Calendar.getInstance();
//设置为2000年5月8日
c.set(2000,5-1,8);
//格式化输出
System.out.printf("%tF %<tT%n",c);
运行结果展示:
8、void set(int year, int month, int date, int hourOfDay, int minute, int second),该方法7方法相比方法名相同但参数列表不同,且该方法可以将时间设置精确到时分秒,同样的在设置月份的时候要进行减1。
代码演示:
Calendar c = Calendar.getInstance();
//设置时间为2000年5月8日12时5分59秒
c.set(2000,5-1,8,12,5,59);
System.out.printf("%tF %<tT%n",c);
运行结果展示:文章来源:https://www.toymoban.com/news/detail-773184.html
文章来源地址https://www.toymoban.com/news/detail-773184.html
到了这里,关于Java中Calendar日期类介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!