最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JAVA時(shí)間日期處理類實(shí)例

 更新時(shí)間:2015年04月21日 12:03:50   作者:MagicYK  
這篇文章主要介紹了JAVA時(shí)間日期處理類,可實(shí)現(xiàn)遍歷兩個(gè)日期之間的每一天的功能,涉及針對(duì)日期的常見(jiàn)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了JAVA時(shí)間日期處理類,主要用來(lái)遍歷兩個(gè)日期之間的每一天。分享給大家供大家參考。具體如下:

/**
* 
* 文 件 名: AccountDate.java
* 
* 創(chuàng)建時(shí)間: 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 );
 }
 /**
 * 計(jì)算兩個(gè)日期之間相隔的天數(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)的方式計(jì)算日期
 * @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);
  }
 }
}

希望本文所述對(duì)大家的java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 詳解Java的Struts框架中棧值和OGNL的使用

    詳解Java的Struts框架中棧值和OGNL的使用

    這篇文章主要介紹了Java的Struts框架中棧值和OGNL的使用,Struts框架是Java的SSH三大web開(kāi)發(fā)框架之一,需要的朋友可以參考下
    2015-11-11
  • mybatis-plus中l(wèi)ambdaQuery()與lambdaUpdate()比較常見(jiàn)的使用方法總結(jié)

    mybatis-plus中l(wèi)ambdaQuery()與lambdaUpdate()比較常見(jiàn)的使用方法總結(jié)

    mybatis-plus是在mybatis的基礎(chǔ)上做增強(qiáng)不做改變,簡(jiǎn)化了CRUD操作,下面這篇文章主要給大家介紹了關(guān)于mybatis-plus中l(wèi)ambdaQuery()與lambdaUpdate()比較常見(jiàn)的使用方法,需要的朋友可以參考下
    2022-09-09
  • Java實(shí)現(xiàn)哈希表的基本功能

    Java實(shí)現(xiàn)哈希表的基本功能

    今天教大家怎么用Java實(shí)現(xiàn)哈希表的基本功能,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-05-05
  • Spring Boot實(shí)現(xiàn)發(fā)送郵件

    Spring Boot實(shí)現(xiàn)發(fā)送郵件

    這篇文章主要為大家詳細(xì)介紹了Spring Boot實(shí)現(xiàn)發(fā)送郵件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Java使用組合模式實(shí)現(xiàn)表示公司組織結(jié)構(gòu)功能示例

    Java使用組合模式實(shí)現(xiàn)表示公司組織結(jié)構(gòu)功能示例

    這篇文章主要介紹了Java使用組合模式實(shí)現(xiàn)表示公司組織結(jié)構(gòu)功能,簡(jiǎn)單描述了組合模式的概念、功能并結(jié)合實(shí)例形式分析了Java使用組合模式實(shí)現(xiàn)公司組織結(jié)構(gòu)表示功能具體操作步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2018-05-05
  • Spring+Http請(qǐng)求+HttpClient實(shí)現(xiàn)傳參

    Spring+Http請(qǐng)求+HttpClient實(shí)現(xiàn)傳參

    這篇文章主要介紹了Spring+Http請(qǐng)求+HttpClient實(shí)現(xiàn)傳參,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 詳解Java的線程狀態(tài)

    詳解Java的線程狀態(tài)

    本文主要為大家詳細(xì)介紹一下Java的線程狀態(tài),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)有一定的幫助,感興趣的小伙伴可以跟隨小編學(xué)習(xí)一下
    2022-11-11
  • 簡(jiǎn)單了解SpringBoot過(guò)濾器及使用方式

    簡(jiǎn)單了解SpringBoot過(guò)濾器及使用方式

    這篇文章主要介紹了簡(jiǎn)單了解SpringBoot過(guò)濾器及使用方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Java基于ArrayList實(shí)現(xiàn)群主發(fā)紅包功能

    Java基于ArrayList實(shí)現(xiàn)群主發(fā)紅包功能

    這篇文章主要介紹了Java基于ArrayList實(shí)現(xiàn)群主發(fā)紅包功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • SpringBoot+Redis實(shí)現(xiàn)接口防刷的示例代碼

    SpringBoot+Redis實(shí)現(xiàn)接口防刷的示例代碼

    在實(shí)際開(kāi)發(fā)中,會(huì)出現(xiàn)用戶多次點(diǎn)擊發(fā)送請(qǐng)求,本文主要介紹了SpringBoot+Redis實(shí)現(xiàn)接口防刷的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01

最新評(píng)論

平泉县| 云和县| 济阳县| 五常市| 莆田市| 灵璧县| 博罗县| 阿勒泰市| 金坛市| 北安市| 庐江县| 大名县| 陇南市| 信宜市| 宁化县| 平乡县| 榆林市| 吴川市| 大石桥市| 红桥区| 汉源县| 浠水县| 东宁县| 疏勒县| 康定县| 池州市| 贵德县| 嘉黎县| 明光市| 丹寨县| 义乌市| 九寨沟县| 龙游县| 涟源市| 河北区| 罗源县| 喜德县| 巩留县| 息烽县| 方正县| 理塘县|