(黑马程序员)日期和日历类学习总结

操作时间和日期的类主要有以下几个:

System类。有system.currentTimeMills();返回当前时间自1970.1.1的毫秒值。类型long

           ----system.nanoTime();返回自某一个确定不唯一时间的纳秒值。Long

这个方法主要用来精确测试程序运行耗时。

Date类。Calendar类。-----日期和日历类,Date中很多方法都被Calendar取代。

DateFormat类。SimpleDateFormat类。----格式器,用来格式化日期为字符串或者解析字符串为日期类型。

具体用法和注意事项如下:

---------------------------------------------------------------------------------------------------

毫秒值→date对象

1.date d=new date(毫秒值);

2.Date d=new date();d.setTime(毫秒值)

Date对象→毫秒值

1.d.getTime();返回long类型毫秒值

----------------------------------------------------------------------------------------------------------------------

Data对象→String字符串:(格式化日期)

1.  DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG);

Date d1=new Date();

String date = d.format(d1);

2. DateFormat d=new SimpleDateFormat("yyyy-MM-dd,EEE");

Date d1=new Date();

String date = d.format(d1);

String字符串→date对象:(解析字符串)

1.   String str_date = "2012419";

Date date = dateFormat.parse(str_date);

----------------------------------------------------------------------------------------------------------------------

Calendar,主要有addsetrollget方法。

SET方法改变了日期某段之后,日期中的字段都会根据实际情况变化,但是不会立即刷新,如1999 年 月 31 日。调用 set(Calendar.MONTH, Calendar.SEPTEMBER) 将该日期设置为 1999 年 月 31 日。如果随后调用 getTime(),那么这是解析 1999 年 10 月 日的一个暂时内部表示。但是,在调用 getTime() 之前调用 set(Calendar.DAY_OF_MONTH, 30) 会将该日期设置为 1999 年 月 30 日,因为在调用 set() 之后没有发生重新计算。

Add方法的改变某字段后是立即刷新的,但是比这个改变字段小的字段并不会根据实际情况计算,而是会自动取一个最接近原来值的值,比这个字段大的字段则会成长进位改变。

1999 年 月 31 日。调用 add(Calendar.MONTH, 13) 将日历设置为 2000 年 月 30 日。Add 将 MONTH 字段设置为 September,因为向 August 添加 13 个月得出的就是下一年的 September。因为DAY_OF_MONTH 不可能是 月 31 日,所以 add 规则 将 DAY_OF_MONTH 设置为 30,即最可能的值。而不是变为101日。

Roll方法同Add用法一样,但是只改变这个字段,其他字段都不会按实际情况计算进位。

Get就是取相应字段的值。根据某个日历具体的字段,查询这个字段值得角标,返回。

月份是0-11,如果是6月,就返回5角标。星期是周日开始,所以如果是星期5,总是返回6角标。

----------------------------------------------------------------------------------------------------------------------

Calendardate之间的相互转换。

Calendar对象→date对象

Calendar c= Calendar.getInstance();

Date d=c.getTime();

毫秒值=c.getTimeInMills();

Date对象→Calendar对象

 void  setTime(Date date) 

          使用给定的 Date 设置此 Calendar 的时间。 

 void  setTimeInMillis(long millis) 

          用给定的 long 值设置此 Calendar 的当前时间值 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值