国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

JAVA時間日期處理類,主要用來遍歷兩個日期之間的每一天。

2019-11-14 23:53:06
字體:
供稿:網(wǎng)友
java時間日期處理類,主要用來遍歷兩個日期之間的每一天。
/***    *  文 件 名: AccountDate.java*    *  創(chuàng)建時間: 2008-11-18**  Email  : **@163.com*/import java.text.DecimalFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;public class AccountDate {    PRivate static transient int gregorianCutoverYear = 1582;        /** 閏年中每月天數(shù) */    private static final int[] DAYS_P_MONTH_LY= {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};        /** 非閏年中每月天數(shù) */    private static final int[] DAYS_P_MONTH_CY= {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};        /** 代表數(shù)組里的年、月、日 */    private static final int Y = 0, M = 1, D = 2;        /**    * 將代表日期的字符串分割為代表年月日的整形數(shù)組    * @param date    * @return    */    public static int[] splitYMD(String date){        date = date.replace("-", "");        int[] ymd = {0, 0, 0};        ymd[Y] = Integer.parseInt(date.substring(0, 4));        ymd[M] = Integer.parseInt(date.substring(4, 6));        ymd[D] = Integer.parseInt(date.substring(6, 8));        return ymd;    }        /**    * 檢查傳入的參數(shù)代表的年份是否為閏年    * @param year    * @return    */    public static boolean isLeapYear(int year) {        return year >= gregorianCutoverYear ?            ((year%4 == 0) && ((year%100 != 0) || (year%400 == 0))) : (year%4 == 0);     }          /**    * 日期加1天    * @param year    * @param month    * @param day    * @return    */    private static int[] addOneDay(int year, int month, int day){        if(isLeapYear( year )){            day++;            if( day > DAYS_P_MONTH_LY[month -1 ] ){                month++;                if(month > 12){                    year++;                    month = 1;                }                day = 1;            }        }else{            day++;            if( day > DAYS_P_MONTH_CY[month -1 ] ){                month++;                if(month > 12){                    year++;                    month = 1;                }                day = 1;            }        }        int[] ymd = {year, month, day};        return ymd;    }        /**    * 將不足兩位的月份或日期補(bǔ)足為兩位    * @param decimal    * @return    */    public static String formatMonthDay(int decimal){        DecimalFormat df = new DecimalFormat("00");        return df.format( decimal );    }        /**    * 將不足四位的年份補(bǔ)足為四位    * @param decimal    * @return    */    public static String formatYear(int decimal){        DecimalFormat df = new DecimalFormat("0000");        return df.format( decimal );    }        /**    * 計算兩個日期之間相隔的天數(shù)    * @param begin    * @param end    * @return    * @throws ParseException    */    public static long countDay(String begin,String end){           SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");           Date beginDate , endDate;           long day = 0;           try {            beginDate= format.parse(begin);            endDate=  format.parse(end);            day=(endDate.getTime()-beginDate.getTime())/(24*60*60*1000);          } catch (ParseException e) {            e.printStackTrace();        }                           return day;    }        /**    * 以循環(huán)的方式計算日期    * @param beginDate endDate    * @param days    * @return    */    public static List<String> getEveryday(String beginDate , String endDate){        long days = countDay(beginDate, endDate);        int[] ymd = splitYMD( beginDate );        List<String> everyDays = new ArrayList<String>();        everyDays.add(beginDate);        for(int i = 0; i < days; i++){            ymd = addOneDay(ymd[Y], ymd[M], ymd[D]);            everyDays.add(formatYear(ymd[Y])+"-"+formatMonthDay(ymd[M])+"-"+formatMonthDay(ymd[D]));        }        return everyDays;    }        public static void main(String[] args) {        List<String> list = AccountDate.getEveryday("2008-08-29", "2008-09-02");        for (String result : list) {            System.out.println(result);        }    }}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 天长市| 江都市| 临泉县| 原阳县| 鹤壁市| 泰兴市| 大石桥市| 香港 | 望都县| 格尔木市| 白山市| 淮北市| 商河县| 佛冈县| 眉山市| 蓬莱市| 丰县| 佛山市| 波密县| 绥滨县| 景德镇市| 昆山市| 康保县| 宜兰县| 普兰县| 绵阳市| 盐亭县| 鄂州市| 枝江市| 惠安县| 远安县| 仁化县| 青浦区| 疏勒县| 黎川县| 贡觉县| 龙州县| 铁力市| 阿克陶县| 介休市| 额济纳旗|