java Calendar的使用方法

YEAR  这是哪年
MONTH  这是月(从0开始)
WEEK_OF_YEAR 今年的第几星期
WEEK_OF_MONTH 这个月的第几星期(从一开始)
DATE  今天几号
DAY_OF_MONTH  这个月的第几天
DAY_OF_YEAR   这一年的第几天
DAY_OF_WEEK   这周周几(从日开始计算,从1计算)
DAY_OF_WEEK_IN_MONTH 第几周(从第一天开始算一周)

AM_PM  上午还是下午0为上午,1为下午
HOUR 12小时制几点
HOUR_OF_DAY  24小时制几点
MINUTE  多少分
SECOND  多少秒
MILLISECOND  多少毫秒
ZONE_OFFSET  时区


ava代码Calendar cal = Calendar.getInstance();//使用默认时区和语言环境获得一个日历。    
cal.add(Calendar.DAY_OF_MONTH, -1);//取当前日期的前一天.    
cal.add(Calendar.DAY_OF_MONTH, +1);//取当前日期的后一天. 


取月份要加1.

判断当前月份的最大天数:


Java代码Calendar cal = Calendar.getInstance();    
int day=cal.getActualMaximum(Calendar.DAY_OF_MONTH);    
System.out.println(day); 

求两个日期之间相隔的天数:


Java代码java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");    
java.util.Date beginDate= format.parse("2007-12-24");    
java.util.Date endDate= format.parse("2007-12-25");    
long day=(date.getTime()-mydate.getTime())/(24*60*60*1000);    
System.out.println("相隔的天数="+day);  


相差时间:
long difference=c2.getTimeInMillis()-c1.getTimeInMillis();
相差天数:long day=difference/(3600*24*1000)
相差小时:long hour=difference/(3600*1000)
相差分钟:long minute=difference/(60*1000)
相差秒: long second=difference/1000


Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, 1); // 目前时间加1个月    
System.out.println(df.format(c.getTime()));    
c.add(Calendar.HOUR, 3); // 目前时间加3小时    
System.out.println(df.format(c.getTime()));    
c.add(Calendar.YEAR, -2); // 目前时间减2年    
System.out.println(df.format(c.getTime()));
c.add(Calendar.DAY_OF_WEEK, 7); // 目前的时间加7天    
System.out.println(df.format(c.getTime()));

PS:

1.设置calendar为当前时间

mCalendar.setTimeInMillis(System.currentTimeMillis());

2.格式表格(来自谷歌官方文档)

Date and Time Pattern Result
"yyyy.MM.dd G 'at' HH:mm:ss z" 2001.07.04 AD at 12:08:56 PDT
"EEE, MMM d, ''yy" Wed, Jul 4, '01
"h:mm a" 12:08 PM
"hh 'o''clock' a, zzzz" 12 o'clock PM, Pacific Daylight Time
"K:mm a, z" 0:08 PM, PDT
"yyyyy.MMMMM.dd GGG hh:mm aaa" 02001.July.04 AD 12:08 PM
"EEE, d MMM yyyy HH:mm:ss Z" Wed, 4 Jul 2001 12:08:56 -0700
"yyMMddHHmmssZ" 010704120856-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSXXX" 2001-07-04T12:08:56.235-07:00
"YYYY-'W'ww-u" 2001-W27-3
3. SimpleDateFormat函数语法:
  
  G 年代标志符
  y 年
  M 月
  d 日
  h 时 在上午或下午 (1~12)
  H 时 在一天中 (0~23)
  m 分
  s 秒
  S 毫秒
  E 星期
  D 一年中的第几天
  F 一月中第几个星期几
  w 一年中第几个星期
  W 一月中第几个星期
  a 上午 / 下午 标记符 
  k 时 在一天中 (1~24)
  K 时 在上午或下午 (0~11)
  z 时区


节选自百度文库

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值