操作时间和日期的类主要有以下几个:
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 = "2012年4月19日";
Date date = dateFormat.parse(str_date);
----------------------------------------------------------------------------------------------------------------------
Calendar,主要有add,set,roll,get方法。
SET方法改变了日期某段之后,日期中的字段都会根据实际情况变化,但是不会立即刷新,如1999 年 8 月 31 日。调用 set(Calendar.MONTH, Calendar.SEPTEMBER) 将该日期设置为 1999 年 9 月 31 日。如果随后调用 getTime(),那么这是解析 1999 年 10 月 1 日的一个暂时内部表示。但是,在调用 getTime() 之前调用 set(Calendar.DAY_OF_MONTH, 30) 会将该日期设置为 1999 年 9 月 30 日,因为在调用 set() 之后没有发生重新计算。
Add方法的改变某字段后是立即刷新的,但是比这个改变字段小的字段并不会根据实际情况计算,而是会自动取一个最接近原来值的值,比这个字段大的字段则会成长进位改变。
1999 年 8 月 31 日。调用 add(Calendar.MONTH, 13) 将日历设置为 2000 年 9 月 30 日。Add 将 MONTH 字段设置为 September,因为向 August 添加 13 个月得出的就是下一年的 September。因为DAY_OF_MONTH 不可能是 9 月 31 日,所以 add 规则 2 将 DAY_OF_MONTH 设置为 30,即最可能的值。而不是变为10月1日。
Roll方法同Add用法一样,但是只改变这个字段,其他字段都不会按实际情况计算进位。
Get就是取相应字段的值。根据某个日历具体的字段,查询这个字段值得角标,返回。
月份是0-11,如果是6月,就返回5角标。星期是周日开始,所以如果是星期5,总是返回6角标。
----------------------------------------------------------------------------------------------------------------------
Calendar和date之间的相互转换。
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 的当前时间值