java 日期時間工具類

uyu 9年前發布 | 7K 次閱讀 Java

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**

  • 日期時間工具類
  • 功能:
  • 獲取當前日期 時間 ,獲取年月日時分秒毫秒
  • 格式化日期時間
  • 日期時間加上或減少n天、n月、n年
  • 計算日期相差的天數
  • @author Administrator
  • @Date Jul 19, 2008
  • @Time 9:47:53 AM
  • @version 1.0 */ public class DateUtil {

    public static Date date = null;

    public static DateFormat dateFormat = null;

    public static Calendar calendar = null;

    /**

    • 英文簡寫(默認)如:2010-12-01 */ public static String FORMAT_SHORT = "yyyy-MM-dd";

      /**

    • 英文全稱 如:2010-12-01 23:15:06 */ public static String FORMAT_LONG = "yyyy-MM-dd HH:mm:ss";

      /**

    • 精確到毫秒的完整時間 如:yyyy-MM-dd HH:mm:ss.S */ public static String FORMAT_FULL = "yyyy-MM-dd HH:mm:ss.S";

      /**

    • 中文簡寫 如:2010年12月01日 */ public static String FORMAT_SHORT_CN = "yyyy年MM月dd";

      /**

    • 中文全稱 如:2010年12月01日 23時15分06秒 */ public static String FORMAT_LONG_CN = "yyyy年MM月dd日 HH時mm分ss秒";

      /**

    • 精確到毫秒的完整中文時間 */ public static String FORMAT_FULL_CN = "yyyy年MM月dd日 HH時mm分ss秒SSS毫秒";

      /**

    • 獲得默認的 date pattern */ public static String getDatePattern() { return FORMAT_LONG; }

      /**

    • 根據預設格式返回當前日期
    • @return */ public static String getNow() { return format(new Date()); }

      /**

    • 根據用戶格式返回當前日期
    • @param format
    • @return */ public static String getNow(String format) { return format(new Date(), format); }

      /**

    • 使用預設格式格式化日期
    • @param date
    • @return */ public static String format(Date date) { return format(date, getDatePattern()); }

      /**

    • 使用用戶格式格式化日期
    • @param date
    • 日期
    • @param pattern
    • 日期格式
    • @return */ public static String format(Date date, String pattern) { String returnValue = ""; if (date != null) {

       SimpleDateFormat df = new SimpleDateFormat(pattern);
       returnValue = df.format(date);
      

      } return (returnValue); }

      /**

    • 使用預設格式提取字符串日期
    • @param strDate
    • 日期字符串
    • @return */ public static Date parse(String strDate) { return parse(strDate, getDatePattern()); }

      /**

    • 使用用戶格式提取字符串日期
    • @param strDate
    • 日期字符串
    • @param pattern
    • 日期格式
    • @return */ public static Date parse(String strDate, String pattern) { SimpleDateFormat df = new SimpleDateFormat(pattern); try {

       return df.parse(strDate);
      

      } catch (ParseException e) {

       e.printStackTrace();
       return null;
      

      } }

      /**

    • 在日期上增加數個整月
    • @param date
    • 日期
    • @param n
    • 要增加的月數
    • @return */ public static Date addMonth(Date date, int n) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.MONTH, n); return cal.getTime(); }

      /**

    • 在日期上增加天數
    • @param date
    • 日期
    • @param n
    • 要增加的天數
    • @return */ public static Date addDay(Date date, int n) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.DATE, n); return cal.getTime(); }

      /**

    • 獲取距現在某一小時的時刻
    • @param format
    • 格式化時間的格式
    • @param h
    • 距現在的小時 例如:h=-1為上一個小時,h=1為下一個小時
    • @return / public static String getpreHour(String format, int h) { SimpleDateFormat sdf = new SimpleDateFormat(format); Date date = new Date(); date.setTime(date.getTime() + h 60 60 1000); return sdf.format(date); }

      /**

    • 獲取時間戳 */ public static String getTimeString() { SimpleDateFormat df = new SimpleDateFormat(FORMAT_FULL); Calendar calendar = Calendar.getInstance(); return df.format(calendar.getTime()); }

      /**

    • 獲取日期年份
    • @param date
    • 日期
    • @return */ public static String getYear(Date date) { return format(date).substring(0, 4); }

      /**

    • 功能描述:返回月
    • @param date
    • Date 日期
    • @return 返回月份 */ public static int getMonth(Date date) { calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.MONTH) + 1; }

      /**

    • 功能描述:返回日
    • @param date
    • Date 日期
    • @return 返回日份 */ public static int getDay(Date date) { calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.DAY_OF_MONTH); }

      /**

    • 功能描述:返回小
    • @param date
    • 日期
    • @return 返回小時 */ public static int getHour(Date date) { calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.HOUR_OF_DAY); }

      /**

    • 功能描述:返回分
    • @param date
    • 日期
    • @return 返回分鐘 */ public static int getMinute(Date date) { calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.MINUTE); }

      /**

    • 返回秒鐘
    • @param date
    • Date 日期
    • @return 返回秒鐘 */ public static int getSecond(Date date) { calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.SECOND); }

      /**

    • 功能描述:返回毫
    • @param date
    • 日期
    • @return 返回毫 */ public static long getMillis(Date date) { calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.getTimeInMillis(); }

      /**

    • 按默認格式的字符串距離今天的天數
    • @param date
    • 日期字符串
    • @return */ public static int countDays(String date) { long t = Calendar.getInstance().getTime().getTime(); Calendar c = Calendar.getInstance(); c.setTime(parse(date)); long t1 = c.getTime().getTime(); return (int) (t / 1000 - t1 / 1000) / 3600 / 24; }

      /**

    • 按用戶格式字符串距離今天的天數
    • @param date
    • 日期字符串
    • @param format
    • 日期格式
    • @return */ public static int countDays(String date, String format) { long t = Calendar.getInstance().getTime().getTime(); Calendar c = Calendar.getInstance(); c.setTime(parse(date, format)); long t1 = c.getTime().getTime(); return (int) (t / 1000 - t1 / 1000) / 3600 / 24; }

      public static void main(String[] args) {

      System.out.println(DateUtil.getNow()); }

}</pre>

 本文由用戶 uyu 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!