麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

一些無聊的代碼之一:JAVA中的日期計算

2019-11-18 13:38:16
字體:
來源:轉載
供稿:網友

/* * DateCalculate.java , Created on 2005-3-18 * Copyright 2005 AAA Information Technology CO.LTD. All rights reserved. *  * 作成日期: 2005-3-18 * 修改履歷:  *  */package com.bjb.xyh.util;

import java.text.DecimalFormat;//import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;

/** * 類描述:自己實現的日期計算類,可以自由擴展 * @author xieyh [email protected] * @version  build 2005-3-18 *  */public class DateCalculate {        /** 注重格里歷和儒略歷交接時的日期差別 */    PRivate static transient int gregorianCutoverYear = 1582;        /** 閏年中每月天數 */    private static final int[] DAYS_P_MONTH_LY=       {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};    /** 平年中每月天數 */    private static final int[] DAYS_P_MONTH_CY=    {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};    /** 代表數組里的年、月、日 */    private static final int Y = 0, M = 1, D = 2;        /** 參與運算用 */    private int[] ymd = null;

    /**     * 檢查傳入的參數是否合法的日期     * @param date     * @throws IllegalArgumentException     */    public static void validate(String date)throws IllegalArgumentException{                int[] ymd = splitYMD( date );                if( ymd[M] == 0 ymd[M] > 12 ){            throw new IllegalArgumentException("月份數值錯誤");        }                if( true == isLeapYear( ymd[0] ) ){            if( ymd[D] == 0 ymd[D] > DAYS_P_MONTH_LY[ymd[M] -1 ] ){                throw new IllegalArgumentException("日期數值錯誤");            }        }else{            if( ymd[D] == 0 ymd[D] > DAYS_P_MONTH_CY[ymd[M] -1 ] ){                throw new IllegalArgumentException("日期數值錯誤");            }        }    }

    /**     * 檢查傳入的參數代表的年份是否為閏年     * @param year     * @return     */    public static boolean isLeapYear(int year) {        return year >= gregorianCutoverYear ?            ((year%4 == 0) && ((year%100 != 0)                     (year%400 == 0))) : // Gregorian            (year%4 == 0); // Julian    }        /**     * 日期加1天,注重這里沒有考慮儒略歷和格里歷交接時相差的10天     * @param year     * @param month     * @param day     * @return     */    private 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;    }        /**     * 以循環的方式計算日期加法     * @param date     * @param days     * @return     */    public String addDaysByLoop(String date, int days){        validate(date);        int[] ymd = splitYMD( date );        for(int i = 0; i < days; i++){            ymd = addOneDay(ymd[Y], ymd[M], ymd[D]);        }        return formatYear(ymd[Y])+       formatMonthDay(ymd[M])+       formatMonthDay(ymd[D]);    }        /**     * 日期減1天,注重這里沒有考慮儒略歷和格里歷交接時相差的10天     * @param year     * @param month     * @param day     * @return     */    private int[] redUCeOneDay(int year, int month, int day){        if(isLeapYear( year )){            day--;            if( day <= 0 ){                month--;                if(month < 1){              

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一本色道久久综合狠狠躁篇适合什么人看 | 一区二区三区欧美日韩 | 法国性xxx精品hd专区 | 黄污网站在线 | 羞羞视频免费视频欧美 | av在线免费电影 | 蜜桃网站在线观看 | 黄色免费小网站 | 色交视频 | 在线成人免费视频 | 九九精品视频免费 | 在线播放视频一区二区 | 国产精品久久久久久久久久了 | 亚洲视频在线观看免费 | 久久一区三区 | 久久成人激情视频 | 看毛片电影 | 538在线精品 | 国产91精品欧美 | 国产一区二区三区色淫影院 | 亚洲第一成av人网站懂色 | 久久久一区二区三区精品 | 最新在线黄色网址 | 久久精品在线免费观看 | 欧美成人二区 | 久久影院午夜 | 日美av在线 | 欧美日韩大片在线观看 | 国产永久免费观看 | 青青操精品 | avlululu| 成人区精品一区二区婷婷 | 免费久久久 | 日韩a毛片免费观看 | 日本羞羞的午夜电视剧 | 成av在线 | 国产一区在线视频观看 | 精品国产一区二区三区在线观看 | 久久精品国产99国产精品澳门 | 西川av在线一区二区三区 | 久久久久亚洲视频 |