<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    java開發(fā)中時間按工具類

    package cn.hnedu.util;


    import java.io.*;
    import java.text.*;
    import java.util.*;
    import java.sql.Timestamp;
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;

    public class DateUtils {
      public DateUtils() {
      }

      public final static Calendar myc = Calendar.getInstance();

      public static final int SECOND = 1000;
      public static final int MINUTE = SECOND * 60;
      public static final int HOUR = MINUTE * 60;
      public static final int DAY = HOUR * 24;
      public static final int WEEK = DAY * 7;
      public static final int YEAR = DAY * 365; // or 366 ???

      public static final long GMT_VIETNAM_TIME_OFFSET = HOUR * 8;

      private static long SERVER_TIME_OFFSET = HOUR * 0;

      private static DateFormat ddMMyyyyFormat = new SimpleDateFormat("dd/MM/yyyy");
      private static DateFormat yyyymmddhhmmssFormat = new SimpleDateFormat(
          "yyyy年MM月dd日 kk:mm:ss");
      private static DateFormat mmddhhmmFormat = new SimpleDateFormat(
          "MM月dd日 kk:mm");
      private static DateFormat yyyymmddhhmmFormat = new SimpleDateFormat(
          "yyyy年MM月dd日 kk:mm");
      private static DateFormat dateFormat = SimpleDateFormat.getDateInstance(
          SimpleDateFormat.DEFAULT);
      private static DateFormat datetimeFormat = SimpleDateFormat.
          getDateTimeInstance(SimpleDateFormat.DEFAULT, SimpleDateFormat.DEFAULT);

      /**
       * @return 返回當前時間,返回格式:2003-4-25 14:50:7
       */
      public static String getTime() {
        return getTime("yyyy-MM-dd HH:mm:ss");
      }

      public static Date getDate(String parrten) {
        if (!StringUtils.hasText(parrten)) {
          parrten = "yyyyMMddHH";
        }
        String starttime = DateUtils.getTime(parrten);
        return DateUtils.getStrToDate(starttime, parrten);
      }
     
      public static Date getDate(){
       return getDate("yyyy-MM-dd HH:mm:ss");
      }

      /**
       * 獲得當前時間
       * @param parrten 輸出的時間格式
       * @return 返回時間
       */
      public static String getTime(String parrten) {
        String timestr;
        if (parrten == null || parrten.equals("")) {
          parrten = "yyyyMMddHHmmss";
        }
        java.text.SimpleDateFormat sdf = new SimpleDateFormat(parrten);
        java.util.Date cday = new Date();
        timestr = sdf.format(cday);
        return timestr;
      }

      /**
       * 時間格式轉(zhuǎn)換
       * @param cday
       * @param parrten
       * @return
       */
      public static String getTime(Date cday, String parrten) {
        String timestr;
        if (parrten == null || parrten.equals("")) {
          parrten = "yyyyMMddHHmmss";
        }
        java.text.SimpleDateFormat sdf = new SimpleDateFormat(parrten);
        timestr = sdf.format(cday);
        return timestr;
      }

      /**
       * 得到昨天的時間
       * @return
       */
      public static String getYestday() {
        String timestr;
        java.util.Calendar cc = myc;
        cc.roll(cc.DAY_OF_YEAR, -1);
        java.text.SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        timestr = sdf.format(cc.getTime());
        return timestr;
      }

      //將一個時間字符串轉(zhuǎn)換為date型
      public static Date getStrToDate(String time, String parrten) {
        SimpleDateFormat formatter = new SimpleDateFormat(parrten);
        ParsePosition pos = new ParsePosition(0);
        Date dt1 = formatter.parse(time, pos);
        return dt1;
      }

      /**
       * 將時間轉(zhuǎn)換為xxxx年xx月xx日格式
       * @param t1 原時間
       * @param parrten 原時間格式
       * @return
       */
      public static String getTime(String t1, String parrten) {
        SimpleDateFormat formatter = new SimpleDateFormat(parrten);
        SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy年MM月dd日");
        ParsePosition pos = new ParsePosition(0);
        Date dt1 = formatter.parse(t1, pos);
        return formatter2.format(dt1);
      }

      /**
       * 將時間轉(zhuǎn)換為parrten2格式
       * @param t1
       * @param parrten
       * @param parrten2
       * @return
       */
      public static String getTime(String t1, String parrten, String parrten2) {
        SimpleDateFormat formatter = new SimpleDateFormat(parrten);
        SimpleDateFormat formatter2 = new SimpleDateFormat(parrten2);
        ParsePosition pos = new ParsePosition(0);
        Date dt1 = formatter.parse(t1, pos);
        return formatter2.format(dt1);
      }

      /**
       * 比較兩個字符串時間的大小
       * @param t1 時間1
       * @param t2 時間2
       * @param parrten 時間格式 :yyyy-MM-dd
       * @return 返回long =0相等,>0 t1>t2,<0 t1<t2
       */
      public static long compareStringTime(String t1, String t2, String parrten) {
        SimpleDateFormat formatter = new SimpleDateFormat(parrten);
        ParsePosition pos = new ParsePosition(0);
        ParsePosition pos1 = new ParsePosition(0);
        Date dt1 = formatter.parse(t1, pos);
        Date dt2 = formatter.parse(t2, pos1);
        long l = dt1.getTime() - dt2.getTime();
        return l;
      }

      //相差的天數(shù)
      public static int compareTime(String time1, String time2) {
        long l = compareStringTime(time1, time2, "yyyy-MM-dd");
        long days = l / 1000 / 60 / 60 / 24;
        return (int) days;
      }

      public static synchronized String getDateDDMMYYYY(Date date) {
        return ddMMyyyyFormat.format(date);
      }

      public static synchronized String getDateindex(Date date) {
        return yyyymmddhhmmssFormat.format(date);
      }

      public static synchronized String getDateSearch(Date date) {
        return mmddhhmmFormat.format(date);
      }

      public static synchronized String getDateNoSencond(Date date) {
        return yyyymmddhhmmFormat.format(date);
      }

      public static synchronized String formatDate(Date date) {
        return dateFormat.format(date);
      }

      public static synchronized String formatDateTime(Date date) {
        return datetimeFormat.format(date);
      }

      public static Timestamp getCurrentGMTTimestamp() {
        return new Timestamp(System.currentTimeMillis() - SERVER_TIME_OFFSET);
      }

      public static void updateCurrentGMTTimestamp(Timestamp timeToUpdate) {
        timeToUpdate.setTime(System.currentTimeMillis() - SERVER_TIME_OFFSET);
      }

      public static Date getVietnamDateFromGMTDate(Date date) {
        return new Date(date.getTime() + GMT_VIETNAM_TIME_OFFSET);
      }

      public static Date convertGMTDate(Date gmtDate, int hourOffset) {
        return new Date(gmtDate.getTime() + hourOffset * HOUR);
      }

      public static Timestamp convertGMTTimestamp(Timestamp gmtTimestamp,
                                                  int hourOffset) {
        return new Timestamp(gmtTimestamp.getTime() + hourOffset * HOUR);
      }

      public static Timestamp getCurrentGMTTimestampExpiredYear(int offsetYear) {
        //return new Timestamp(System.currentTimeMillis() + offsetYear*(365*24*60*60*1000));
        Calendar now = Calendar.getInstance();
        now.add(Calendar.YEAR, offsetYear);
        return new Timestamp(now.getTime().getTime());
      }

      public static Timestamp getCurrentGMTTimestampExpiredMonth(int offsetMonth) {
        Calendar now = Calendar.getInstance();
        now.add(Calendar.MONTH, offsetMonth);
        return new Timestamp(now.getTime().getTime());
      }

      /**
       * 在當前的日期前加上N天
       * @param day int 天數(shù)
       * @return Date
       */
      public static Date addDay(int day) {
        java.util.Date date1 = new Date();
        long Time = (date1.getTime() / 1000) + 60 * 60 * 24 * day;
        date1.setTime(Time * 1000);
        return date1;
      }

      /**
       * 計算兩個時間之間的天數(shù)
       * @param d1 Date
       * @param d2 Date
       * @return long
       */
      public static long getDaysFromTwoDate(Date d1, Date d2) {
        long day = (d1.getTime() - d2.getTime()) / (24 * 60 * 60 * 1000);
        return day;
      }

      public static Date getLastSunday() {
        String sdate = getTime("yyyy-MM-dd");
        int syear = Integer.parseInt(sdate.substring(0, 4));
        int smonth = Integer.parseInt(sdate.substring(5, 7));
        int sday = Integer.parseInt(sdate.substring(8, 10));
        GregorianCalendar cal = new GregorianCalendar();
        cal.set(syear, smonth, sday);
        int week = cal.get(java.util.Calendar.DAY_OF_WEEK); //1為星期天
        return addDay( - (week + 6));
      }

      public static Date getLastSaturday() {
        String sdate = getTime("yyyy-MM-dd");
        int syear = Integer.parseInt(sdate.substring(0, 4));
        int smonth = Integer.parseInt(sdate.substring(5, 7));
        int sday = Integer.parseInt(sdate.substring(8, 10));
        GregorianCalendar cal = new GregorianCalendar();
        cal.set(syear, smonth, sday);
        int week = cal.get(java.util.Calendar.DAY_OF_WEEK); //1為星期天
        return addDay( - (week));
      }

      public static String getlastMonth() {
        String sdate = getTime("yyyy-MM-dd");
        int syear = Integer.parseInt(sdate.substring(0, 4));
        int smonth = Integer.parseInt(sdate.substring(5, 7));
        smonth = smonth - 1;
        if (smonth == 0) {
          smonth = 12;
          syear = syear - 1;
        }
        return syear + "-" + smonth + "-01";
      }

      public static String getThisMonthStart() {
        String sdate = getTime("yyyy-MM-dd");
        int syear = Integer.parseInt(sdate.substring(0, 4));
        int smonth = Integer.parseInt(sdate.substring(5, 7));
        return syear + "-" + smonth + "-01";
      }

      /**
       * 當日屬于一年的第幾周
       * @return int
       */
      public static int getWeekOfYeah() {
        Calendar calendar = Calendar.getInstance();
       
        int week = calendar.get(Calendar.DAY_OF_WEEK) - 1;
        return week;
      }

      /**
       * 得到一個星期的開始
       * @return Date
       */
      public static Date weekStart() {
        Date date = new Date();
        Calendar calendar = Calendar.getInstance();
        int week = calendar.get(Calendar.DAY_OF_WEEK) - 1;
        Date dateBegin = new Date();
        dateBegin.setTime(date.getTime() - (long) (week) * 24 * 60 * 60 * 1000);
        return dateBegin;
      }

      /**
       * 得到一個星期的結(jié)束
       * @return Date
       */
      public static Date weekEnd() {
        Date date = new Date();
        Calendar calendar = Calendar.getInstance();
        int week = calendar.get(Calendar.DAY_OF_WEEK) - 1;
        Date dateEnd = new Date();
        dateEnd.setTime(date.getTime() + (long) (6 - week) * 24 * 60 * 60 * 1000);
        return dateEnd;
      }

      /**
       * 得到某年第n個星期的星期天
       * @param year int
       * @param week int
       * @return Date
       */
      public static Date getDateByYearAndWeekstart(int year, int week) { //星期日。第一天
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.YEAR, year);
        calendar.set(Calendar.WEEK_OF_YEAR, week);
        calendar.set(Calendar.DAY_OF_WEEK, 1);
        return calendar.getTime();
      }

      public static String getQuarter(String month) {
          if (!StringUtils.hasText(month) && !StringUtils.isNumeric(month)) {
              month = "1";
          }
          int m = Integer.parseInt(month);
          if (m <= 12 && m >= 10) {
              return "4";
          } else if (m <= 9 && m >= 7) {
              return "3";
          } else if (m <= 6 && m >= 4) {
              return "2";
          } else {
              return "1";
          }
      }

      public static String getQuarter(){
          String month=getTime("M");
          return getQuarter(month);
      }


      public static String getQuarterCn(){
          String month=getTime("M");
          return getQuarterCn(month);
      }

      public static String getQuarterCn(String month) {
          if (!StringUtils.hasText(month) && !StringUtils.isNumeric(month)) {
              month = "1";
          }
          int m = Integer.parseInt(month);
          if (m <= 12 && m >= 10) {
              return "四";
          } else if (m <= 9 && m >= 7) {
              return "三";
          } else if (m <= 6 && m >= 4) {
              return "二";
          } else {
              return "一";
          }
      }


      /**
       * 得到某年第n個星期的星期六
       * @param year int
       * @param week int
       * @return Date
       */
      public static Date getDateByYearAndWeekend(int year, int week) { //星期六。最后一天
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.YEAR, year);
        calendar.set(Calendar.WEEK_OF_YEAR, week);
        calendar.set(Calendar.DAY_OF_WEEK, 0);
        return calendar.getTime();
      }

      public static void main(String args[]) {
       String stime="2007-08-24";
       String etime="2007-08-28";
       //System.out.println(DateUtils.compareTime(etime,stime));
       //System.out.println(DateUtils.getTime("M"));
       Float a=Float.valueOf("1");
       Float b=Float.valueOf("1.9");
      }

    }

    posted on 2011-06-01 12:23 斌哥 閱讀(2445) 評論(3)  編輯  收藏

    評論

    # re: java開發(fā)中時間工具類 2011-06-01 12:23 斌哥

    不錯哦 喜歡 拿下了  回復(fù)  更多評論   

    # re: java開發(fā)中時間工具類 2011-06-01 12:24 斌哥

    @斌哥
    哈哈 謝謝誒 你喜歡就是我喜歡的  回復(fù)  更多評論   

    # re: java開發(fā)中時間按工具類 2011-06-02 09:37 gaochuwei0

    private static DateFormat ddMMyyyyFormat = new SimpleDateFormat("dd/MM/yyyy"); 這些申明為static的會有問題,具體你可以寫個多線程的程序測試一下就O啦   回復(fù)  更多評論   


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     

    導航

    <2011年6月>
    2930311234
    567891011
    12131415161718
    19202122232425
    262728293012
    3456789

    統(tǒng)計

    常用鏈接

    留言簿(1)

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 57pao国产成视频免费播放| 亚洲av无码乱码国产精品| 成人婷婷网色偷偷亚洲男人的天堂 | 青青在线久青草免费观看| 大地资源在线资源免费观看| 久久精品国产亚洲AV| 久久久久久A亚洲欧洲AV冫| 日韩免费一区二区三区| 国产99精品一区二区三区免费 | **真实毛片免费观看| 久久av免费天堂小草播放| 亚洲图片在线观看| 亚洲乳大丰满中文字幕| 日韩免费一区二区三区在线| 免费国产成人午夜在线观看| 一级免费黄色毛片| 青青免费在线视频| 亚洲精华国产精华精华液好用| 中文字幕久久亚洲一区| 精品国产污污免费网站aⅴ| 最新亚洲人成无码网站| 2020久久精品亚洲热综合一本| 亚洲明星合成图综合区在线| 国产a不卡片精品免费观看| 99国产精品视频免费观看| 免费无码又爽又刺激一高潮| 巨胸喷奶水视频www免费视频| 一级A毛片免费观看久久精品 | 国产亚洲福利一区二区免费看| 国产免费爽爽视频在线观看| 男人天堂2018亚洲男人天堂| 亚洲中文字幕一二三四区苍井空 | 久久久久久精品成人免费图片| 18禁男女爽爽爽午夜网站免费| 亚洲视频免费在线观看| 一级毛片免费视频| 黄色视屏在线免费播放| 亚洲综合丁香婷婷六月香| 精品亚洲AV无码一区二区| 亚洲日韩国产欧美一区二区三区| 亚洲免费精彩视频在线观看|