<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      時間工具類2

       

      1. 日期模板枚舉類PatternEnum
      public enum PatternEnum {
          //g  global全稱,cn中國
          G_DATE_TIME_DEFAULT("yyyy-MM-dd HH:mm:ss"),// 默認的年月日時分秒格式
          G_DATE_TIME_FOR_CN("yyyy年MM月dd日 HH時mm分ss秒"),// 中文格式
          DATE_FOR_DAY("yyyy-MM-dd"),// 一般的天格式
          DATE_FOR_DAY_CN("yyyy年MM月dd日");
          private PatternEnum(String name){
              this.name=name;
          }
          private String name;
          public String getName() {
              return name;
          }
          public void setName(String name) {
              this.name = name;
          }
      
      }

      編寫日期工具類DateUtils

      public class DateUtils {
      
          // 用于存放不同模板的日期
          private static final ThreadLocal<Map<String, SimpleDateFormat>> LOCAL = new ThreadLocal<Map<String, SimpleDateFormat>>() {
              @Override
              protected Map<String, SimpleDateFormat> initialValue() {
                  return new HashMap<>();
              }
      
          };
      
          /**
           * 返回一個SimpleDateFormat,每個線程只會new一次pattern對應的sdf
           * 
           * @param pattern
           * @return
           */
          private static SimpleDateFormat getSdf(String pattern) {
              Map<String, SimpleDateFormat> map = LOCAL.get();
              SimpleDateFormat sdf = map.get(pattern);
              if (sdf == null) {
                  sdf = new SimpleDateFormat(pattern);
                  map.put(pattern, sdf);
              }
              return sdf;
          }
      
          /**
           * 獲取當前日期
           * 
           * @param pattern
           * @return
           */
          public static String getNow(PatternEnum pattern) {
              SimpleDateFormat sdf = getSdf(pattern.getName());
              return sdf.format(new Date());
          }
      
          /**
           * 獲取過去一天的日期
           * 
           * @param pattern
           * @return
           */
          public static Date getPastOneDay() {
              Calendar c = Calendar.getInstance();
              c.setTime(new Date());
              c.add(Calendar.DAY_OF_MONTH, -1);
              return c.getTime();
          }
      
          /**
           * 獲取從指定日期起,半個小時以前的日期
           * 
           * @return
           */
          public static Date getPastHalfHour() {
              Calendar calendar = Calendar.getInstance();
              calendar.setTime(new Date());
              int minute = calendar.get(Calendar.MINUTE);
              calendar.set(Calendar.MINUTE, minute - 30);
              return calendar.getTime();
          }
      
          /**
           * 獲取兩個日期之間的天數
           * 
           * @param before
           * @param after
           * @return
           */
          public static long getDistanceTwoDate(Date before, Date after) {
              long beforeTime = before.getTime();
              long afterTime = after.getTime();
              return (afterTime - beforeTime) / (1000 * 60 * 60 * 24);
          }
      
          /**
           * string轉化為指定模板的date
           * 
           * @param str
           * @param pattern
           * @return
           */
          public static Date stringToDate(String str, PatternEnum pattern) {
              try {
                  SimpleDateFormat sdf = getSdf(pattern.getName());
                  return sdf.parse(str);
              } catch (ParseException e) {
                  e.printStackTrace();
              }
              return null;
          }
          /**
           * date類型轉化為指定模板的string
           * @param date
           * @param pattern
           * @return
           */
          public static String dateToString(Date date,PatternEnum pattern){
              SimpleDateFormat sdf = getSdf(pattern.getName());
              return sdf.format(date);
          }
          /**
           * 獲取某個date的年份
           * @param date
           * @return
           */
          public static int getYear(Date date){
              Calendar c=Calendar.getInstance();
              c.setTime(date);
              return c.get(Calendar.YEAR);
          }
          /**
           * 獲取某個date的月份
           * @param date
           * @return
           */
          public static int getMonth(Date date){
              Calendar c=Calendar.getInstance();
              c.setTime(date);
              return c.get(Calendar.MONTH)+1;
          }
          /**
           * 獲取某個date的day
           * @param date
           * @return
           */
          public static int getDayOfMonth(Date date){
              Calendar c=Calendar.getInstance();
              c.setTime(date);
              return c.get(Calendar.DAY_OF_MONTH);
          }
          /**
           * 判斷字符串是否是指定的格式
           * @param date
           * @param pattern
           * @return
           */
           public static boolean isDatePattern(String date, PatternEnum pattern) {  
                  SimpleDateFormat sdf = getSdf(pattern.getName());
                  try {  
                      sdf.setLenient(false);  
                      sdf.parse(date);  
                      return true;  
                  } catch (Exception e) {  
                      return false;  
                  }  
            }
           /**
            * 獲取兩個時間的時間差
            * @param before
            * @param after
            * @param flag 0秒,1分,2時,3天
            * @return
            */
           public static int getDifferentNum(Date before,Date after,int flag){
               if(before==null||after==null){
                   return 0;
               }
               long timeInterval=after.getTime()-before.getTime();
               switch (flag) {
                  case 0:
                      return (int) (timeInterval/1000);//
                  case 1:
                      return (int) (timeInterval/(60*1000));//
                  case 2:
                      return (int) timeInterval/(60*60*1000);//
                  case 3:
                      return (int) timeInterval/(60*60*1000*24);//
                  }
               return 0;
           }
      
      }

       

      posted @ 2023-06-20 14:03  xingmeng1  閱讀(43)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产精品制服丝袜第一页| 中国极品少妇xxxxx| 日韩熟妇中文色在线视频| 99久久精品免费看国产电影| 亚洲精品中文字幕尤物综合| 亚洲最大国产成人综合网站| 狠狠久久五月综合色和啪| 午夜福利国产精品视频| 久久婷婷五月综合97色直播| www插插插无码免费视频网站| 日韩免费视频一一二区| 亚洲欧美另类激情综合区蜜芽| 亚洲国产精品无码久久电影| 婷婷综合缴情亚洲| 久久久久国产精品熟女影院| 一级片一区二区中文字幕| 国产目拍亚洲精品二区| 亚洲欧美激情在线一区| 日本人一区二区在线观看| 久久国产精品老女人| 亚洲日本中文字幕天天更新| 独山县| 加勒比无码人妻东京热| 精品无码国产一区二区三区AV| 国产精品一区二区三区三级| 免费看亚洲一区二区三区| 摸丰满大乳奶水www免费| 国产精品国产三级国产专业| 四虎国产精品永久在线| 欧美熟妇性XXXX欧美熟人多毛| 国产互换人妻xxxx69| 久久久久无码中| 日韩卡一卡2卡3卡4卡| 亚洲深夜精品在线观看| 亚洲欧美日韩成人综合一区| 国产真人无遮挡免费视频 | 精品午夜福利在线视在亚洲| 精品国产成人三级在线观看| 亚洲成A人片在线观看无码不卡| 国产对白叫床清晰在线播放| 国产美女永久免费无遮挡|