亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

日期類的重寫方法

標簽:
Java
package com.mcf.cmims.util;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateUtils extends org.apache.commons.lang.time.DateUtils {
    
    public static Date getToday(){
        Date today = org.apache.commons.lang.time.DateUtils.truncate(new Date(), Calendar.DAY_OF_MONTH);
        return today;
    }
    
    /**
     * @return 从开始日期到结束日期所剩的时间
     */
    public static String getDeadline(Date startDate, Date endDate){
        if (startDate.compareTo(endDate)>=0){
            return "期限无效";
        }
        
        String strDeadline = "";
        
        Calendar startCld = Calendar.getInstance();
        startCld.setTime(startDate);
        
        Calendar endCld = Calendar.getInstance();
        endCld.setTime(endDate);
        
        int year = endCld.get(Calendar.YEAR)-startCld.get(Calendar.YEAR);
        int month = endCld.get(Calendar.MONTH)-startCld.get(Calendar.MONTH);
        int date = endCld.get(Calendar.DATE)-startCld.get(Calendar.DATE);
        
        
        int daysOfMonth = 30; 
        
        int cyear = endCld.get(Calendar.YEAR);
        int cmonth = endCld.get(Calendar.MONTH);
//        System.out.println("cyear"+cyear+ "cmonth "+cmonth);
        switch (cmonth) {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:daysOfMonth = 31;break;
        
        case 2: 
            daysOfMonth = 28;
            /*判断是不是闰年*/
            if(cyear%400==0||(cyear%4==0&&cyear%100!=0)){
                daysOfMonth+=1;
            }
            break;
            
        case 4:
        case 6:
        case 9:
        case 11:daysOfMonth = 30;break;
        default:
            break;
        }
        
//        System.out.println("daysOfMonth"+daysOfMonth);
        
        
        if (date < 0){
            date += daysOfMonth;// 30 : 31 : 29
            month -=1;
        }
        if (month < 0){
            month += 12;
            year -=1;// year = year - 1;
        }
            
        if (year != 0){
            strDeadline = year+" 年";
        }
        if (month != 0){
            strDeadline = strDeadline + month + " 月";
        }
        if (date != 0){
            strDeadline = strDeadline + date + " 天";
        }
        
        return strDeadline;
        
    }
    
    public static boolean isMonthLastDate(Date date){
        Calendar c = Calendar.getInstance();
        c.clear();
        c.setTime(date);
        int   lastDay   =   c.getActualMaximum(Calendar.DAY_OF_MONTH);   
        int curDay = c.get(Calendar.DATE);
        
        return lastDay == curDay;
    }
    public static Date getMonthFirstDate(Date date){
        Calendar c = Calendar.getInstance();
        c.clear();
        c.setTime(date);
        c.set(Calendar.DAY_OF_MONTH, 1);
        return c.getTime();
    }
    public static Date getMonthFirstDate(Integer year, Integer month){
        if( year == null )
            return null;
        if( month == null )
            return null;
        
        Calendar c = Calendar.getInstance();
        c.clear();
        // 0-base
        c.set(year.intValue(), month.intValue()-1, 1);
        
        return c.getTime();        
    }
    public static Date getMonthLastDate(Date date){
        Calendar c = Calendar.getInstance();
        c.clear();
        c.setTime(date);
        // 0-base
        c.set(Calendar.DAY_OF_MONTH, 1);
        c.add(Calendar.MONTH, 1);
        c.add(Calendar.DAY_OF_MONTH, -1);
        return c.getTime();
    }
    public static Date getMonthLastDate(Integer year, Integer month){
        if( year == null )
            return null;
        if( month == null )
            return null;
        month = month+1;
        if( month > 12 ){
            month = 1;
            year = year + 1;
        }
        Calendar c = Calendar.getInstance();
        c.clear();
        // 0-base
        c.set(year.intValue(), month.intValue()-1, 1);
        c.add(Calendar.DAY_OF_MONTH, -1); 
        
        return c.getTime();        
    }
    
    public static Date addDays(Date date, int adds){
        if( date == null )
            return null;
        Calendar c = Calendar.getInstance();
        c.clear();
        c.setTime(date);
        c.add(Calendar.DAY_OF_MONTH, adds); 
        
        return c.getTime();
    }
    
    public static Date lessDays(Date date, int days){
        if( date == null )
            return null;
        Calendar c = Calendar.getInstance();
        c.clear();
        c.setTime(date);
        c.add(Calendar.DAY_OF_MONTH, -days); 
        
        return c.getTime();
    }
    
    
}

原文链接:http://www.apkbus.com/blog-655764-58999.html

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消