Java用于取得当前日期相对应的月初,月末,季初,季末,年初,年末时间详解编程语言

package com.zrar.date; 
import java.util.Calendar; 
/** 
 *  
 * 描述:此类用于取得当前日期相对应的月初,月末,季初,季末,年初,年末,返回值均为String字符串 
 *      1、得到当前日期         today() 
 *      2、得到当前月份月初      thisMonth() 
 *      3、得到当前月份月底      thisMonthEnd() 
 *      4、得到当前季度季初      thisSeason() 
 *      5、得到当前季度季末      thisSeasonEnd() 
 *      6、得到当前年份年初      thisYear() 
 *      7、得到当前年份年底      thisYearEnd() 
 *      8、判断输入年份是否为闰年 leapYear 
 *       
 * 注意事项:  日期格式为:xxxx-yy-zz (eg: 2007-12-05) 
 * 
 * 实例: 
 * 
 * @author pure 
 */ 
public class DateThis { 
    private int x;                  // 日期属性:年 
    private int y;                  // 日期属性:月 
    private int z;                  // 日期属性:日 
    private Calendar localTime;     // 当前日期 
    public DateThis() { 
        localTime = Calendar.getInstance(); 
    } 
    /** 
     * 功能:得到当前日期 格式为:xxxx-yy-zz (eg: 2007-12-05)<br>  
     * @return String 
     * @author pure 
     */ 
    public String today() { 
        String strY = null; 
        String strZ = null; 
        x = localTime.get(Calendar.YEAR); 
        y = localTime.get(Calendar.MONTH) + 1; 
        z = localTime.get(Calendar.DATE); 
        strY = y >= 10 ? String.valueOf(y) : ("0" + y); 
        strZ = z >= 10 ? String.valueOf(z) : ("0" + z); 
        return x + "-" + strY + "-" + strZ; 
    } 
    /** 
     * 功能:得到当前月份月初 格式为:xxxx-yy-zz (eg: 2007-12-01)<br>  
     * @return String 
     * @author pure 
     */ 
    public String thisMonth() { 
        String strY = null; 
        x = localTime.get(Calendar.YEAR); 
        y = localTime.get(Calendar.MONTH) + 1; 
        strY = y >= 10 ? String.valueOf(y) : ("0" + y); 
        return x + "-" + strY + "-01"; 
    } 
    /** 
     * 功能:得到当前月份月底 格式为:xxxx-yy-zz (eg: 2007-12-31)<br>  
     * @return String 
     * @author pure 
     */ 
    public String thisMonthEnd() { 
        String strY = null; 
        String strZ = null; 
        boolean leap = false; 
        x = localTime.get(Calendar.YEAR); 
        y = localTime.get(Calendar.MONTH) + 1; 
        if (y == 1 || y == 3 || y == 5 || y == 7 || y == 8 || y == 10 || y == 12) { 
            strZ = "31"; 
        } 
        if (y == 4 || y == 6 || y == 9 || y == 11) { 
            strZ = "30"; 
        } 
        if (y == 2) { 
            leap = leapYear(x); 
            if (leap) { 
                strZ = "29"; 
            } 
            else { 
                strZ = "28"; 
            } 
        } 
        strY = y >= 10 ? String.valueOf(y) : ("0" + y); 
        return x + "-" + strY + "-" + strZ; 
    } 
    /** 
     * 功能:得到当前季度季初 格式为:xxxx-yy-zz (eg: 2007-10-01)<br>  
     * @return String 
     * @author pure 
     */ 
    public String thisSeason() { 
        String dateString = ""; 
        x = localTime.get(Calendar.YEAR); 
        y = localTime.get(Calendar.MONTH) + 1; 
        if (y >= 1 && y <= 3) { 
            dateString = x + "-" + "01" + "-" + "01"; 
        } 
        if (y >= 4 && y <= 6) { 
            dateString = x + "-" + "04" + "-" + "01"; 
        } 
        if (y >= 7 && y <= 9) { 
            dateString = x + "-" + "07" + "-" + "01"; 
        } 
        if (y >= 10 && y <= 12) { 
            dateString = x + "-" + "10" + "-" + "01"; 
        } 
        return dateString; 
    } 
    /** 
     * 功能:得到当前季度季末 格式为:xxxx-yy-zz (eg: 2007-12-31)<br>  
     * @return String 
     * @author pure 
     */ 
    public String thisSeasonEnd() { 
        String dateString = ""; 
        x = localTime.get(Calendar.YEAR); 
        y = localTime.get(Calendar.MONTH) + 1; 
        if (y >= 1 && y <= 3) { 
            dateString = x + "-" + "03" + "-" + "31"; 
        } 
        if (y >= 4 && y <= 6) { 
            dateString = x + "-" + "06" + "-" + "30"; 
        } 
        if (y >= 7 && y <= 9) { 
            dateString = x + "-" + "09" + "-" + "30"; 
        } 
        if (y >= 10 && y <= 12) { 
            dateString = x + "-" + "12" + "-" + "31"; 
        } 
        return dateString; 
    } 
    /** 
     * 功能:得到当前年份年初 格式为:xxxx-yy-zz (eg: 2007-01-01)<br>  
     * @return String 
     * @author pure 
     */ 
    public String thisYear() { 
        x = localTime.get(Calendar.YEAR); 
        return x + "-01" + "-01"; 
    } 
    /** 
     * 功能:得到当前年份年底 格式为:xxxx-yy-zz (eg: 2007-12-31)<br>  
     * @return String 
     * @author pure 
     */ 
    public String thisYearEnd() { 
        x = localTime.get(Calendar.YEAR); 
        return x + "-12" + "-31"; 
    } 
    /** 
     * 功能:判断输入年份是否为闰年<br> 
     *  
     * @param year 
     * @return 是:true  否:false 
     * @author pure 
     */ 
    public boolean leapYear(int year) { 
        boolean leap; 
        if (year % 4 == 0) { 
            if (year % 100 == 0) { 
                if (year % 400 == 0) leap = true; 
                else leap = false; 
            } 
            else leap = true; 
        } 
        else leap = false; 
        return leap; 
    } 
}

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/10501.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论