日期操作常用方法集合

记录一些开发中遇到的日期操作。

1.获取距离今天指定日期间隔的日期

 1  /**
 2      * 获取距离今天指定日期间隔的日期,正数表示往未来的间隔日期,负数表示过去的间隔日期
 3      * 返回形式为YYYY-MM-DD格式的日期
 4      * @author mmq 2014年11月13日17:38:48
 5      * @return String
 6      */
 7     public static String getDateByDifferFromToday(int differ){
 8         Calendar c = Calendar.getInstance();
 9         c.add(Calendar.DAY_OF_MONTH, differ);
10         Date targetDate = c.getTime();
11         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd KK:mm:ss");
12         String dateString = sdf.format(targetDate);
13         dateString =dateString.substring(0,10);//获取格式为YYYY-MM-DD的日期。
14         return dateString;
15     }

2.获取日期间隔天数

 /**
     * 获取两个日期之间的日期间隔天数
     * 
     * @param date1
     * @param date2
     * @return
     */
    public static int daysBetweenCount(Date date1,Date date2)  
    {  
        Calendar cal = Calendar.getInstance();  
        cal.setTime(date1);  
        long time1 = cal.getTimeInMillis();               
        cal.setTime(date2);  
        long time2 = cal.getTimeInMillis();       
        long between_days=(time2-time1)/(1000*3600*24);  
          
       return Integer.parseInt(String.valueOf(between_days));         
    }  

3.util.Date和sql.Date的转换

 1  /** 
 2      * 将java.util.Date日期转化为java.sql.Date 
 3      *  
 4      * @param utilDate 
 5      *            java.util.Date日期 
 6      * @return java.sql.Date日期 
 7      */  
 8     public static java.sql.Date converUtilToSql(java.util.Date utilDate) {  
 9         return new java.sql.Date(utilDate.getTime());  
10     }  
11   
12     /** 
13      * 将java.sql.Date日期转化为java.util.Date 
14      *  
15      * @param sqlDate 
16      *            java.sql.Date日期 
17      * @return java.util.Date日期 
18      */  
19     public static java.util.Date converSqlToUtil(java.sql.Date sqlDate) {  
20         return new java.util.Date(sqlDate.getTime());  
21     } 

 

 

4.Javascript获取指定格式的日期

 1 Date.prototype.format = function(format){ //获取指定形式的日期
 2             var o = { 
 3             "M+" : this.getMonth()+1, //month 
 4             "d+" : this.getDate(), //day 
 5             "h+" : this.getHours(), //hour 
 6             "m+" : this.getMinutes(), //minute 
 7             "s+" : this.getSeconds(), //second 
 8             "q+" : Math.floor((this.getMonth()+3)/3), //quarter 
 9             "S" : this.getMilliseconds() //millisecond 
10             } 
11             if(/(y+)/.test(format)) { 
12             format = format.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
13             } 
14             for(var k in o) { 
15             if(new RegExp("("+ k +")").test(format)) { 
16             format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length)); 
17             } 
18             } 
19             return format; 
20         }

 

posted @ 2015-08-11 13:34  Derry.1990  阅读(299)  评论(0编辑  收藏  举报