时间日期的操作

时间:2022-10-23 08:03:53
主要利用import java.util.Calendar;类
int DAY_OF_MONTH
          get 和 set 的字段数字,指示一个月中的某天。
int DAY_OF_WEEK
          get 和 set 的字段数字,指示一个星期中的某天。
int DAY_OF_WEEK_IN_MONTH
          get 和 set 的字段数字,指示当前月中的第几个星期。
int DAY_OF_YEAR
          get 和 set 的字段数字,指示当前年中的天数
int WEDNESDAY
          指示 Wednesday 的 DAY_OF_WEEK 字段值。
int WEEK_OF_MONTH
          get 和 set 的字段数字,指示当前月中的星期数。
int WEEK_OF_YEAR
          get 和 set 的字段数字,指示当前年中的星期数。



自己写的

import java.util.Calendar;

public class ExcelTime {
/*
  * 获取某年某月1号的星期序号 Java代码 时间日期的操作 时间日期的操作时间日期的操作
  1.   
 

  */
public int getFirstDay(int year,int month){
  Calendar   now   =   Calendar.getInstance();
  now.set(year, month-1, 1);
  int firstDay=   now.get(Calendar.DAY_OF_WEEK);
  if(firstDay==1)return 7;
  else{
   return (firstDay+6)%7;
  }
}
/*
  * 求某年某月的总天数
  */
public int getDates(int year,int month){
  Calendar c = Calendar.getInstance();
  //设置为该月,例如08年1月,日期随意
  c.set(year,month-1,1);
  //获得该月的日期
  int dates = c.getActualMaximum(Calendar.DATE);
  return dates;
}
/*
  * 求某年某月星期的总数
  */
public int getDays(int year,int month){
  if(getDates(year,month)-28>6)return 6;
  if(getDates(year,month)==28&&getFirstDay(year,month)==1)return 4;
  else return 5;
}

}


一下是在其他文章中找到的

Java代码 时间日期的操作 时间日期的操作时间日期的操作
  1. <PRE class=java name="code">package com.iwode.common;      
  2.      
  3. import java.text.DateFormat;      
  4. import java.text.ParsePosition;      
  5. import java.text.SimpleDateFormat;      
  6. import java.util.Calendar;      
  7. import java.util.Date;      
  8. import java.util.GregorianCalendar;      
  9.      
  10. /**    
  11.  * 常用日历操作辅助类    
  12.  *     
  13.  * @author steven 2010-08-10    
  14.  * @email:qing.tan@iwode.com    
  15.  */     
  16. public class CalendarUtil {      
  17.      
  18.     private int weeks = 0;// 用来全局控制 上一周,本周,下一周的周数变化     
  19.     private int MaxDate; // 一月最大天数     
  20.     private int MaxYear; // 一年最大天数     
  21.      
  22.     /**    
  23.      * 测试    
  24.      *     
  25.      * @param args    
  26.      */     
  27.     public static void main(String[] args) {      
  28.         CalendarUtil tt = new CalendarUtil();      
  29.         System.out.println("获取当天日期:" + tt.getNowTime("yyyy-MM-dd"));      
  30.         System.out.println("获取本周一日期:" + tt.getMondayOFWeek());      
  31.         System.out.println("获取本周日的日期~:" + tt.getCurrentWeekday());      
  32.         System.out.println("获取上周一日期:" + tt.getPreviousWeekday());      
  33.         System.out.println("获取上周日日期:" + tt.getPreviousWeekSunday());      
  34.         System.out.println("获取下周一日期:" + tt.getNextMonday());      
  35.         System.out.println("获取下周日日期:" + tt.getNextSunday());      
  36.         System.out.println("获得相应周的周六的日期:" + tt.getNowTime("yyyy-MM-dd"));      
  37.         System.out.println("获取本月第一天日期:" + tt.getFirstDayOfMonth());      
  38.         System.out.println("获取本月最后一天日期:" + tt.getDefaultDay());      
  39.         System.out.println("获取上月第一天日期:" + tt.getPreviousMonthFirst());      
  40.         System.out.println("获取上月最后一天的日期:" + tt.getPreviousMonthEnd());      
  41.         System.out.println("获取下月第一天日期:" + tt.getNextMonthFirst());      
  42.         System.out.println("获取下月最后一天日期:" + tt.getNextMonthEnd());      
  43.         System.out.println("获取本年的第一天日期:" + tt.getCurrentYearFirst());      
  44.         System.out.println("获取本年最后一天日期:" + tt.getCurrentYearEnd());      
  45.         System.out.println("获取去年的第一天日期:" + tt.getPreviousYearFirst());      
  46.         System.out.println("获取去年的最后一天日期:" + tt.getPreviousYearEnd());      
  47.         System.out.println("获取明年第一天日期:" + tt.getNextYearFirst());      
  48.         System.out.println("获取明年最后一天日期:" + tt.getNextYearEnd());      
  49.         System.out.println("获取本季度第一天:" + tt.getThisSeasonFirstTime(11));      
  50.         System.out.println("获取本季度最后一天:" + tt.getThisSeasonFinallyTime(11));      
  51.         System.out.println("获取两个日期之间间隔天数2008-12-1~2008-9.29:"     
  52.                 + CalendarUtil.getTwoDay("2008-12-1""2008-9-29"));      
  53.         System.out.println("获取当前月的第几周:" + tt.getWeekOfMonth());      
  54.         System.out.println("获取当前年份:" + tt.getYear());      
  55.         System.out.println("获取当前月份:" + tt.getMonth());      
  56.         System.out.println("获取今天在本年的第几天:" + tt.getDayOfYear());      
  57.         System.out.println("获得今天在本月的第几天(获得当前日):" + tt.getDayOfMonth());      
  58.         System.out.println("获得今天在本周的第几天:" + tt.getDayOfWeek());      
  59.         System.out.println("获得半年后的日期:"     
  60.                 + tt.convertDateToString(tt.getTimeYearNext()));      
  61.     }      
  62.      
  63.     /**    
  64.      * 获得当前年份    
  65.      *     
  66.      * @return    
  67.      */     
  68.     public static int getYear() {      
  69.         return Calendar.getInstance().get(Calendar.YEAR);      
  70.     }      
  71.      
  72.     /**    
  73.      * 获得当前月份    
  74.      *     
  75.      * @return    
  76.      */     
  77.     public static int getMonth() {      
  78.         return Calendar.getInstance().get(Calendar.MONTH) + 1;      
  79.     }      
  80.      
  81.     /**    
  82.      * 获得今天在本年的第几天    
  83.      *     
  84.      * @return    
  85.      */     
  86.     public static int getDayOfYear() {      
  87.         return Calendar.getInstance().get(Calendar.DAY_OF_YEAR);      
  88.     }      
  89.      
  90.     /**    
  91.      * 获得今天在本月的第几天(获得当前日)    
  92.      *     
  93.      * @return    
  94.      */     
  95.     public static int getDayOfMonth() {      
  96.         return Calendar.getInstance().get(Calendar.DAY_OF_MONTH);      
  97.     }      
  98.      
  99.     /**    
  100.      * 获得今天在本周的第几天    
  101.      *     
  102.      * @return    
  103.      */     
  104.     public static int getDayOfWeek() {      
  105.         return Calendar.getInstance().get(Calendar.DAY_OF_WEEK);      
  106.     }      
  107.      
  108.     /**    
  109.      * 获得今天是这个月的第几周    
  110.      *     
  111.      * @return    
  112.      */     
  113.     public static int getWeekOfMonth() {      
  114.         return Calendar.getInstance().get(Calendar.DAY_OF_WEEK_IN_MONTH);      
  115.     }      
  116.      
  117.     /**    
  118.      * 获得半年后的日期    
  119.      *     
  120.      * @return    
  121.      */     
  122.     public static Date getTimeYearNext() {      
  123.         Calendar.getInstance().add(Calendar.DAY_OF_YEAR, 183);      
  124.         return Calendar.getInstance().getTime();      
  125.     }      
  126.      
  127.     /**    
  128.      * 将日期转换成字符串    
  129.      *     
  130.      * @param dateTime    
  131.      * @return    
  132.      */     
  133.     public static String convertDateToString(Date dateTime) {      
  134.         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");      
  135.         return df.format(dateTime);      
  136.     }      
  137.      
  138.     /**    
  139.      * 得到二个日期间的间隔天数    
  140.      *     
  141.      * @param sj1    
  142.      * @param sj2    
  143.      * @return    
  144.      */     
  145.     public static String getTwoDay(String sj1, String sj2) {      
  146.         SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");      
  147.         long day = 0;      
  148.         try {      
  149.             java.util.Date date = myFormatter.parse(sj1);      
  150.             java.util.Date mydate = myFormatter.parse(sj2);      
  151.             day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);      
  152.         } catch (Exception e) {      
  153.             return "";      
  154.         }      
  155.         return day + "";      
  156.     }      
  157.      
  158.     /**    
  159.      * 根据一个日期,返回是星期几的字符串    
  160.      *     
  161.      * @param sdate    
  162.      * @return    
  163.      */     
  164.     public static String getWeek(String sdate) {      
  165.         // 再转换为时间      
  166.         Date date = CalendarUtil.strToDate(sdate);      
  167.         Calendar c = Calendar.getInstance();      
  168.         c.setTime(date);      
  169.         // int hour=c.get(Calendar.DAY_OF_WEEK);     
  170.         // hour中存的就是星期几了,其范围 1~7      
  171.         // 1=星期日 7=星期六,其他类推      
  172.         return new SimpleDateFormat("EEEE").format(c.getTime());      
  173.     }      
  174.      
  175.     /**    
  176.      * 将短时间格式字符串转换为时间 yyyy-MM-dd    
  177.      *     
  178.      * @param strDate    
  179.      * @return    
  180.      */     
  181.     public static Date strToDate(String strDate) {      
  182.         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");      
  183.         ParsePosition pos = new ParsePosition(0);      
  184.         Date strtodate = formatter.parse(strDate, pos);      
  185.         return strtodate;      
  186.     }      
  187.      
  188.     /**    
  189.      * 两个时间之间的天数    
  190.      *     
  191.      * @param date1    
  192.      * @param date2    
  193.      * @return    
  194.      */     
  195.     public static long getDays(String date1, String date2) {      
  196.         if (date1 == null || date1.equals(""))      
  197.             return 0;      
  198.         if (date2 == null || date2.equals(""))      
  199.             return 0;      
  200.         // 转换为标准时间      
  201.         SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");      
  202.         java.util.Date date = null;      
  203.         java.util.Date mydate = null;      
  204.         try {      
  205.             date = myFormatter.parse(date1);      
  206.             mydate = myFormatter.parse(date2);      
  207.         } catch (Exception e) {      
  208.         }      
  209.         long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);      
  210.         return day;      
  211.     }      
  212.      
  213.     /**    
  214.      * 计算当月最后一天,返回字符串    
  215.      *     
  216.      * @return    
  217.      */     
  218.     public String getDefaultDay() {      
  219.         String str = "";      
  220.         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");      
  221.      
  222.         Calendar lastDate = Calendar.getInstance();      
  223.         lastDate.set(Calendar.DATE, 1);// 设为当前月的1号     
  224.         lastDate.add(Calendar.MONTH, 1);// 加一个月,变为下月的1号     
  225.         lastDate.add(Calendar.DATE, -1);// 减去一天,变为当月最后一天     
  226.      
  227.         str = sdf.format(lastDate.getTime());      
  228.         return str;      
  229.     }      
  230.      
  231.     /**    
  232.      * 上月第一天    
  233.      *     
  234.      * @return    
  235.      */     
  236.     public String getPreviousMonthFirst() {      
  237.         String str = "";      
  238.         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");      
  239.      
  240.         Calendar lastDate = Calendar.getInstance();      
  241.         lastDate.set(Calendar.DATE, 1);// 设为当前月的1号     
  242.         lastDate.add(Calendar.MONTH, -1);// 减一个月,变为下月的1号     
  243.         // lastDate.add(Calendar.DATE,-1);//减去一天,变为当月最后一天     
  244.      
  245.         str = sdf.format(lastDate.getTime());      
  246.         return str;      
  247.     }      
  248.      
  249.     /**    
  250.      * 获取当月第一天    
  251.      *     
  252.      * @return    
  253.      */     
  254.     public String getFirstDayOfMonth() {      
  255.         String str = "";      
  256.         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");      
  257.      
  258.         Calendar lastDate = Calendar.getInstance();      
  259.         lastDate.set(Calendar.DATE, 1);// 设为当前月的1号     
  260.         str = sdf.format(lastDate.getTime());      
  261.         return str;      
  262.     }      
  263.      
  264.     /**    
  265.      * 获得本周星期日的日期    
  266.      *     
  267.      * @return    
  268.      */     
  269.     public String getCurrentWeekday() {      
  270.         weeks = 0;      
  271.         int mondayPlus = this.getMondayPlus();      
  272.         GregorianCalendar currentDate = new GregorianCalendar();      
  273.         currentDate.add(GregorianCalendar.DATE, mondayPlus + 6);      
  274.         Date monday = currentDate.getTime();      
  275.      
  276.         DateFormat df = DateFormat.getDateInstance();      
  277.         String preMonday = df.format(monday);      
  278.         return preMonday;      
  279.     }      
  280.      
  281.     /**    
  282.      * 获取当天时间    
  283.      *     
  284.      * @param dateformat    
  285.      * @return    
  286.      */     
  287.     public String getNowTime(String dateformat) {      
  288.         Date now = new Date();      
  289.         SimpleDateFormat dateFormat = new SimpleDateFormat(dateformat);// 可以方便地修改日期格式     
  290.         String hehe = dateFormat.format(now);      
  291.         return hehe;      
  292.     }      
  293.      
  294.     /**    
  295.      * 获得当前日期与本周日相差的天数    
  296.      *     
  297.      * @return    
  298.      */     
  299.     private int getMondayPlus() {      
  300.         Calendar cd = Calendar.getInstance();      
  301.         // 获得今天是一周的第几天,星期日是第一天,星期二是第二天......     
  302.         int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK) - 1// 因为按中国礼拜一作为第一天所以这里减1     
  303.         if (dayOfWeek == 1) {      
  304.             return 0;      
  305.         } else {      
  306.             return 1 - dayOfWeek;      
  307.         }      
  308.     }      
  309.      
  310.     /**    
  311.      * 获得本周一的日期    
  312.      *     
  313.      * @return    
  314.      */     
  315.     public String getMondayOFWeek() {      
  316.         weeks = 0;      
  317.         int mondayPlus = this.getMondayPlus();      
  318.         GregorianCalendar currentDate = new GregorianCalendar();      
  319.         currentDate.add(GregorianCalendar.DATE, mondayPlus);      
  320.         Date monday = currentDate.getTime();      
  321.      
  322.         DateFormat df = DateFormat.getDateInstance();      
  323.         String preMonday = df.format(monday);      
  324.         return preMonday;      
  325.     }      
  326.      
  327.     /**    
  328.      * 获得相应周的周六的日期    
  329.      *     
  330.      * @return    
  331.      */     
  332.     public String getSaturday() {      
  333.         int mondayPlus = this.getMondayPlus();      
  334.         GregorianCalendar currentDate = new GregorianCalendar();      
  335.         currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * weeks + 6);      
  336.         Date monday = currentDate.getTime();      
  337.         DateFormat df = DateFormat.getDateInstance();      
  338.         String preMonday = df.format(monday);      
  339.         return preMonday;      
  340.     }      
  341.      
  342.     /**    
  343.      * 获得上周星期日的日期    
  344.      *     
  345.      * @return    
  346.      */     
  347.     public String getPreviousWeekSunday() {      
  348.         weeks = 0;      
  349.         weeks--;      
  350.         int mondayPlus = this.getMondayPlus();      
  351.         GregorianCalendar currentDate = new GregorianCalendar();      
  352.         currentDate.add(GregorianCalendar.DATE, mondayPlus + weeks);      
  353.         Date monday = currentDate.getTime();      
  354.         DateFormat df = DateFormat.getDateInstance();      
  355.         String preMonday = df.format(monday);      
  356.         return preMonday;      
  357.     }      
  358.      
  359.     /**    
  360.      * 获得上周星期一的日期    
  361.      *     
  362.      * @return    
  363.      */     
  364.     public String getPreviousWeekday() {      
  365.         weeks--;      
  366.         int mondayPlus = this.getMondayPlus();      
  367.         GregorianCalendar currentDate = new GregorianCalendar();      
  368.         currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * weeks);      
  369.         Date monday = currentDate.getTime();      
  370.         DateFormat df = DateFormat.getDateInstance();      
  371.         String preMonday = df.format(monday);      
  372.         return preMonday;      
  373.     }      
  374.      
  375.     /**    
  376.      * 获得下周星期一的日期    
  377.      */     
  378.     public String getNextMonday() {      
  379.         weeks++;      
  380.         int mondayPlus = this.getMondayPlus();      
  381.         GregorianCalendar currentDate = new GregorianCalendar();      
  382.         currentDate.add(GregorianCalendar.DATE, mondayPlus + 7);      
  383.         Date monday = currentDate.getTime();      
  384.         DateFormat df = DateFormat.getDateInstance();      
  385.         String preMonday = df.format(monday);      
  386.         return preMonday;      
  387.     }      
  388.      
  389.     /**    
  390.      * 获得下周星期日的日期    
  391.      */       
  392.     public String getNextSunday() {      
  393.      
  394.         int mondayPlus = this.getMondayPlus();      
  395.         GregorianCalendar currentDate = new GregorianCalendar();      
  396.         currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 + 6);      
  397.         Date monday = currentDate.getTime();      
  398.         DateFormat df = DateFormat.getDateInstance();      
  399.         String preMonday = df.format(monday);      
  400.         return preMonday;      
  401.     }      
  402.      
  403.     private int getMonthPlus() {      
  404.         Calendar cd = Calendar.getInstance();      
  405.         int monthOfNumber = cd.get(Calendar.DAY_OF_MONTH);      
  406.         cd.set(Calendar.DATE, 1);// 把日期设置为当月第一天     
  407.         cd.roll(Calendar.DATE, -1);// 日期回滚一天,也就是最后一天     
  408.         MaxDate = cd.get(Calendar.DATE);      
  409.         if (monthOfNumber == 1) {      
  410.             return -MaxDate;      
  411.         } else {      
  412.             return 1 - monthOfNumber;      
  413.         }      
  414.     }      
  415.      
  416.     /**    
  417.      * 获得上月最后一天的日期    
  418.      *     
  419.      * @return    
  420.      */     
  421.     public String getPreviousMonthEnd() {      
  422.         String str = "";      
  423.         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");      
  424.      
  425.         Calendar lastDate = Calendar.getInstance();      
  426.         lastDate.add(Calendar.MONTH, -1);// 减一个月     
  427.         lastDate.set(Calendar.DATE, 1);// 把日期设置为当月第一天     
  428.         lastDate.roll(Calendar.DATE, -1);// 日期回滚一天,也就是本月最后一天     
  429.         str = sdf.format(lastDate.getTime());      
  430.         return str;      
  431.     }      
  432.      
  433.     /**    
  434.      * 获得下个月第一天的日期    
  435.      *     
  436.      * @return    
  437.      */     
  438.     public String getNextMonthFirst() {      
  439.         String str = "";      
  440.         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");      
  441.      
  442.         Calendar lastDate = Calendar.getInstance();      
  443.         lastDate.add(Calendar.MONTH, 1);// 减一个月     
  444.         lastDate.set(Calendar.DATE, 1);// 把日期设置为当月第一天     
  445.         str = sdf.format(lastDate.getTime());      
  446.         return str;      
  447.     }      
  448.      
  449.     /**    
  450.      * 获得下个月最后一天的日期    
  451.      *     
  452.      * @return    
  453.      */     
  454.     public String getNextMonthEnd() {      
  455.         String str = "";      
  456.         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");      
  457.      
  458.         Calendar lastDate = Calendar.getInstance();      
  459.         lastDate.add(Calendar.MONTH, 1);// 加一个月     
  460.         lastDate.set(Calendar.DATE, 1);// 把日期设置为当月第一天     
  461.         lastDate.roll(Calendar.DATE, -1);// 日期回滚一天,也就是本月最后一天     
  462.         str = sdf.format(lastDate.getTime());      
  463.         return str;      
  464.     }      
  465.      
  466.     /**    
  467.      * 获得明年最后一天的日期    
  468.      *     
  469.      * @return    
  470.      */     
  471.     public String getNextYearEnd() {      
  472.         String str = "";      
  473.         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");      
  474.      
  475.         Calendar lastDate = Calendar.getInstance();      
  476.         lastDate.add(Calendar.YEAR, 1);// 加一个年     
  477.         lastDate.set(Calendar.DAY_OF_YEAR, 1);      
  478.         lastDate.roll(Calendar.DAY_OF_YEAR, -1);      
  479.         str = sdf.format(lastDate.getTime());      
  480.         return str;      
  481.     }      
  482.      
  483.     /**    
  484.      * 获得明年第一天的日期    
  485.      *     
  486.      * @return    
  487.      */     
  488.     public String getNextYearFirst() {      
  489.         String str = "";      
  490.         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");      
  491.      
  492.         Calendar lastDate = Calendar.getInstance();      
  493.         lastDate.add(Calendar.YEAR, 1);// 加一个年     
  494.         lastDate.set(Calendar.DAY_OF_YEAR, 1);      
  495.         str = sdf.format(lastDate.getTime());      
  496.         return str;      
  497.      
  498.     }      
  499.      
  500.     /**    
  501.      * 获得本年有多少天    
  502.      *     
  503.      * @return    
  504.      */     
  505.     private int getMaxYear() {      
  506.         Calendar cd = Calendar.getInstance();      
  507.         cd.set(Calendar.DAY_OF_YEAR, 1);// 把日期设为当年第一天     
  508.         cd.roll(Calendar.DAY_OF_YEAR, -1);// 把日期回滚一天。     
  509.         int MaxYear = cd.get(Calendar.DAY_OF_YEAR);      
  510.         return MaxYear;      
  511.     }      
  512.      
  513.     private int getYearPlus() {      
  514.         Calendar cd = Calendar.getInstance();      
  515.         int yearOfNumber = cd.get(Calendar.DAY_OF_YEAR);// 获得当天是一年中的第几天     
  516.         cd.set(Calendar.DAY_OF_YEAR, 1);// 把日期设为当年第一天     
  517.         cd.roll(Calendar.DAY_OF_YEAR, -1);// 把日期回滚一天。     
  518.         int MaxYear = cd.get(Calendar.DAY_OF_YEAR);      
  519.         if (yearOfNumber == 1) {      
  520.             return -MaxYear;      
  521.         } else {      
  522.             return 1 - yearOfNumber;      
  523.         }      
  524.     }      
  525.      
  526.     /**    
  527.      * 获得本年第一天的日期    
  528.      *     
  529.      * @return    
  530.      */     
  531.     public String getCurrentYearFirst() {      
  532.         int yearPlus = this.getYearPlus();      
  533.         GregorianCalendar currentDate = new GregorianCalendar();      
  534.         currentDate.add(GregorianCalendar.DATE, yearPlus);      
  535.         Date yearDay = currentDate.getTime();      
  536.         DateFormat df = DateFormat.getDateInstance();      
  537.         String preYearDay = df.format(yearDay);      
  538.         return preYearDay;      
  539.     }      
  540.      
  541.     // 获得本年最后一天的日期 *      
  542.     public String getCurrentYearEnd() {      
  543.         Date date = new Date();      
  544.         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");// 可以方便地修改日期格式     
  545.         String years = dateFormat.format(date);      
  546.         return years + "-12-31";      
  547.     }      
  548.      
  549.     // 获得上年第一天的日期 *      
  550.     public String getPreviousYearFirst() {      
  551.         Date date = new Date();      
  552.         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");// 可以方便地修改日期格式     
  553.         String years = dateFormat.format(date);      
  554.         int years_value = Integer.parseInt(years);      
  555.         years_value--;      
  556.         return years_value + "-1-1";      
  557.     }      
  558.      
  559.     // 获得上年最后一天的日期      
  560.     public String getPreviousYearEnd() {      
  561.         weeks--;      
  562.         int yearPlus = this.getYearPlus();      
  563.         GregorianCalendar currentDate = new GregorianCalendar();      
  564.         currentDate.add(GregorianCalendar.DATE, yearPlus + MaxYear * weeks      
  565.                 + (MaxYear - 1));      
  566.         Date yearDay = currentDate.getTime();      
  567.         DateFormat df = DateFormat.getDateInstance();      
  568.         String preYearDay = df.format(yearDay);      
  569.         return preYearDay;      
  570.     }      
  571.      
  572.     /**    
  573.      * 获得本季度第一天    
  574.      *     
  575.      * @param month    
  576.      * @return    
  577.      */     
  578.     public String getThisSeasonFirstTime(int month) {      
  579.         int array[][] = { { 123 }, { 456 }, { 789 }, { 101112 } };      
  580.         int season = 1;      
  581.         if (month >= 1 && month <= 3) {      
  582.             season = 1;      
  583.         }      
  584.         if (month >= 4 && month <= 6) {      
  585.             season = 2;      
  586.         }      
  587.         if (month >= 7 && month <= 9) {      
  588.             season = 3;      
  589.         }      
  590.         if (month >= 10 && month <= 12) {      
  591.             season = 4;      
  592.         }      
  593.         int start_month = array[season - 1][0];      
  594.         int end_month = array[season - 1][2];      
  595.      
  596.         Date date = new Date();      
  597.         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");// 可以方便地修改日期格式     
  598.         String years = dateFormat.format(date);      
  599.         int years_value = Integer.parseInt(years);      
  600.      
  601.         int start_days = 1;// years+"-"+String.valueOf(start_month)+"-1";//getLastDayOfMonth(years_value,start_month);     
  602.         int end_days = getLastDayOfMonth(years_value, end_month);      
  603.         String seasonDate = years_value + "-" + start_month + "-" + start_days;      
  604.         return seasonDate;      
  605.      
  606.     }      
  607.      
  608.     /**    
  609.      * 获得本季度最后一天    
  610.      *     
  611.      * @param month    
  612.      * @return    
  613.      */     
  614.     public String getThisSeasonFinallyTime(int month) {      
  615.         int array[][] = { { 123 }, { 456 }, { 789 }, { 101112 } };      
  616.         int season = 1;      
  617.         if (month >= 1 && month <= 3) {      
  618.             season = 1;      
  619.         }      
  620.         if (month >= 4 && month <= 6) {      
  621.             season = 2;      
  622.         }      
  623.         if (month >= 7 && month <= 9) {      
  624.             season = 3;      
  625.         }      
  626.         if (month >= 10 && month <= 12) {      
  627.             season = 4;      
  628.         }      
  629.         int start_month = array[season - 1][0];      
  630.         int end_month = array[season - 1][2];      
  631.      
  632.         Date date = new Date();      
  633.         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");// 可以方便地修改日期格式     
  634.         String years = dateFormat.format(date);      
  635.         int years_value = Integer.parseInt(years);      
  636.      
  637.         int start_days = 1;// years+"-"+String.valueOf(start_month)+"-1";//getLastDayOfMonth(years_value,start_month);     
  638.         int end_days = getLastDayOfMonth(years_value, end_month);      
  639.         String seasonDate = years_value + "-" + end_month + "-" + end_days;      
  640.         return seasonDate;      
  641.      
  642.     }      
  643.      
  644.     /**    
  645.      * 获取某年某月的最后一天    
  646.      *     
  647.      * @param year    
  648.      *            年    
  649.      * @param month    
  650.      *            月    
  651.      * @return 最后一天    
  652.      */     
  653.     private int getLastDayOfMonth(int year, int month) {      
  654.         if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8     
  655.                 || month == 10 || month == 12) {      
  656.             return 31;      
  657.         }      
  658.         if (month == 4 || month == 6 || month == 9 || month == 11) {      
  659.             return 30;      
  660.         }      
  661.         if (month == 2) {      
  662.             if (isLeapYear(year)) {      
  663.                 return 29;      
  664.             } else {      
  665.                 return 28;      
  666.             }      
  667.         }      
  668.         return 0;      
  669.     }      
  670.      
  671.     /**    
  672.      * 是否闰年    
  673.      *     
  674.      * @param year    
  675.      *            年    
  676.      * @return    
  677.      */     
  678.     public boolean isLeapYear(int year) {      
  679.         return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);      
  680.     }      
  681.      
  682.     /**    
  683.      * 是否闰年    
  684.      *     
  685.      * @param year    
  686.      * @return    
  687.      */     
  688.     public boolean isLeapYear2(int year) {      
  689.         return new GregorianCalendar().isLeapYear(year);      
  690.     }      
  691. }