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

首頁 > 編程 > Java > 正文

Java 日期工具類(日期,月份加減等)

2019-11-06 06:13:38
字體:
來源:轉載
供稿:網友
package util;    import java.text.ParseException;  import java.text.SimpleDateFormat;  import java.util.Calendar;  import java.util.Date;    /***  * 日期工具類  *   * @author damao  *  */  public class DateAndTimeUtil {      /***      * 日期月份減一個月      *       * @param datetime      *            日期(2014-11)      * @return 2014-10      */      public static String dateFormat(String datetime) {          SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");          Date date = null;          try {              date = sdf.parse(datetime);          } catch (ParseException e) {              e.PRintStackTrace();          }          Calendar cl = Calendar.getInstance();          cl.setTime(date);          cl.add(Calendar.MONTH, -1);          date = cl.getTime();          return sdf.format(date);      }        public static String dateFormat(Date date) {          SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");          return sdf.format(date);      }        /****      * 傳入具體日期 ,返回具體日期減一個月。      *       * @param date      *            日期(2014-04-20)      * @return 2014-03-20      * @throws ParseException      */      public static String subMonth(String date) throws ParseException {          SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");          Date dt = sdf.parse(date);          Calendar rightNow = Calendar.getInstance();          rightNow.setTime(dt);            rightNow.add(Calendar.MONTH, -1);          Date dt1 = rightNow.getTime();          String reStr = sdf.format(dt1);            return reStr;      }        /****      * 獲取月末最后一天      *       * @param sDate      *            2014-11-24      * @return 30      */      private static String getMonthMaxDay(String sDate) {          SimpleDateFormat sdf_full = new SimpleDateFormat("yyyy-MM-dd");          Calendar cal = Calendar.getInstance();          Date date = null;          try {              date = sdf_full.parse(sDate + "-01");          } catch (ParseException e) {              e.printStackTrace();          }          cal.setTime(date);          int last = cal.getActualMaximum(Calendar.DATE);          return String.valueOf(last);      }        // 判斷是否是月末      public static boolean isMonthEnd(Date date) {          Calendar cal = Calendar.getInstance();          cal.setTime(date);          if (cal.get(Calendar.DATE) == cal                  .getActualMaximum(Calendar.DAY_OF_MONTH))              return true;          else              return false;      }        /***      * 日期減一天、加一天      *       * @param option      *            傳入類型 pro:日期減一天,next:日期加一天      * @param _date      *            2014-11-24      * @return 減一天:2014-11-23或(加一天:2014-11-25)      */      public static String checkOption(String option, String _date) {          SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");          Calendar cl = Calendar.getInstance();          Date date = null;            try {              date = (Date) sdf.parse(_date);          } catch (ParseException e) {              e.printStackTrace();          }          cl.setTime(date);          if ("pre".equals(option)) {              // 時間減一天              cl.add(Calendar.DAY_OF_MONTH, -1);            } else if ("next".equals(option)) {              // 時間加一天              cl.add(Calendar.DAY_OF_YEAR, 1);          } else {              // do nothing          }          date = cl.getTime();          return sdf.format(date);      }        /***      * 判斷日期是否為當前月, 是當前月返回當月最小日期和當月目前最大日期以及傳入日期上月的最大日和最小日      * 不是當前月返回傳入月份的最大日和最小日以及傳入日期上月的最大日和最小日      *       * @param date      *            日期 例如:2014-11      * @return String[] 開始日期,結束日期,上月開始日期,上月結束日期      * @throws ParseException      */      public static String[] getNow_Pre_Date(String date) throws ParseException {            String[] str_date = new String[4];          Date now = new Date();          SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");          SimpleDateFormat sdf_full = new SimpleDateFormat("yyyy-MM-dd");          String stMonth = sdf.format(now);          String stdate = "";// 開始日期          String endate = "";// 結束日期          String preDate_start = "";// 上月開始日期          String preDate_end = "";// 上月結束日期            // 當前月          if (date.equals(stMonth)) {              stdate = stMonth + "-01"; // 2014-11-01              endate = sdf_full.format(now);// 2014-11-24              preDate_start = subMonth(stdate);// 2014-10-01              preDate_end = subMonth(endate);// 2014-10-24          } else {              // 非當前月              String monthMaxDay = getMonthMaxDay(date);              stdate = date + "-01";// 2014-10-01              endate = date + "-" + monthMaxDay;// 2014-10-31              preDate_start = subMonth(stdate);// 2014-09-01              preDate_end = subMonth(endate);// 2014-09-30          }          str_date[0] = stdate;          str_date[1] = endate;          str_date[2] = preDate_start;          str_date[3] = preDate_end;            return str_date;      }        public static void main(String[] args) throws ParseException {          /*          * String a =DateAndTimeUtil.dateFormat(new Date());          * System.out.println(a); String b =          * DateAndTimeUtil.subMonth("2014-03-31"); System.out.println(b);          * SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Date          * dt=sdf.parse("2014-03-31");          * System.out.println(DateAndTimeUtil.isMonthEnd(dt));          */          String str = null;          // str = DateAndTimeUtil.checkOption("next", "2014-11-30");          // str = getMonthMaxDay("2014-11-24");          // str = dateFormat("2014-11");          str = getNow_Pre_Date("2014-10")[0];          System.out.println(str);      }  } 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 房山区| 莒南县| 横山县| 吴川市| 沙湾县| 海南省| 中卫市| 安化县| 班戈县| 宁化县| 沐川县| 化隆| 土默特右旗| 德格县| 嘉义县| 阳城县| 汾阳市| 沙河市| 伊金霍洛旗| 桃园市| 册亨县| 高青县| 军事| 胶州市| 温宿县| 东平县| 吉隆县| 白山市| 巴东县| 天镇县| 平定县| 扶余县| 乌兰察布市| 贵州省| 和平区| 黑龙江省| 板桥市| 普安县| 顺义区| 宜城市| 离岛区|