天天看点

java 日期类总结

Date类      
Date date=new Date(); 
System.out.println(date);//输出:Tue Jun 16 20:51:24 CST 2015
boolean after(Date when) //测试此日期是否在指定日期之后  (没什么用我感觉)                   
boolean before(Date when) //测试此日期是否在指定日期之前          
int compareTo(Date anotherDate) //比较两个日期的顺序
           
Calendar类      

Calendar类Calendar 类是一个抽象类Calendar实例化有两种方式:

第一种是 Calendar nowTime = new GregorianCalendar();
第二种是Calendar calendar=Calendar.getInstance();
//当前年     
int year = cal.get(Calendar.YEAR);    
//当前月 Calendar.MONTH从0开始     
int month = (cal.get(Calendar.MONTH))+1;        
//当前月的第几天:即当前日     
int day_of_month = cal.get(Calendar.DAY_OF_MONTH);    
//Calendar.DAY_OF_MONTH 和 Calendar.DATE 是等价的     
int date = cal.get(Calendar.DATE);    
//当前时钟:HOUR_OF_DAY-24小时制     
int hour24 = cal.get(Calendar.HOUR_OF_DAY);    
//HOUR-12小时制     
int hour12 = cal.get(Calendar.HOUR);    
//当前:分钟     
int minute = cal.get(Calendar.MINUTE);    
//当前秒     
int second = cal.get(Calendar.SECOND);    
// 星期几 Calendar.DAY_OF_WEEK用数字(1~7)表示(星期日~星期六)     
int day_of_week = cal.get(Calendar.DAY_OF_WEEK)-1;        
//0-上午;1-下午     
int ampm = cal.get(Calendar.AM_PM);      
//当前年的第几周     
int week_of_year = cal.get(Calendar.WEEK_OF_YEAR);       
//当前月的星期数     
int week_of_month = cal.get(Calendar.WEEK_OF_MONTH);    
//当前月中的第几个星期     
int day_of_week_in_month = cal.get(Calendar.DAY_OF_WEEK_IN_MONTH); 
//当前年的第几天     
int day_of_year = cal.get(Calendar.DAY_OF_YEAR);
           
DateFormat类      

在java.text包下,DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。很多java培训的视频里面都讲过,这个类是抽象类,所以不能构造方法来实例化,可以用getDateInstance()和getDateTimeInstance()这两个静态函数来进行实例化。这两个的区别是一个返回的是日期,一个返回的是日期+时间.同时,getDateInstance(int style),getDateInstance(int style, Locale aLocale)等方法也挺好用的。

关于style值:

  1. FULL: 长度最长 比如:2013年1月9日 星期三       
  2. LONG: 长度更长 比如:January 9, 2013
  3. MEDIUM:长度比SHORT长 比如:Jan 9,2013          
  4. SHORT: 完全为数字,比如:13/1/9
eg:DateFormat d1=DateFormat.getDateInstance();
     DateFormat d2=DateFormat.getDateTimeInstance();                                       
        String s1=d1.format(new Date());                                                   
        String s2=d2.format(new Date());                                 
        System.out.println(s1);      输出:2015-6-16                                      
        System.out.println(s2);      2015-6-16 21:05:22 
eg1:DateFormat d1=DateFormat.getDateInstance(DateFormat.LONG);       输出:2015年6月16日