DateUtils.java 日期處理相關工具類

ygw3 9年前發布 | 4K 次閱讀 Java

 
package com.bdvcd.utils;

import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone;

/**

  • 文件名:DateUtils.java 日期處理相關工具類 */ public class DateUtils {

    /定義常量/ public static final String DATE_JFP_STR="yyyyMM"; public static final String DATE_FULL_STR = "yyyy-MM-dd HH:mm:ss"; public static final String DATE_SMALL_STR = "yyyy-MM-dd"; public static final String DATE_KEY_STR = "yyMMddHHmmss";

    /**

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

      /**

    • 使用用戶格式提取字符串日期
    • @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
    • @return */ public static int compareDateWithNow(Date date1){ Date date2 = new Date(); int rnum =date1.compareTo(date2); return rnum; }

      /**

    • 兩個時間比較(時間戳比較)
    • @param date
    • @return */ public static int compareDateWithNow(long date1){ long date2 = dateToUnixTimestamp(); if(date1>date2){
       return 1;
      
      }else if(date1<date2){
       return -1;
      
      }else{
       return 0;
      
      } }
/**
 * 獲取系統當前時間
 * @return
 */
public static String getNowTime() {
    SimpleDateFormat df = new SimpleDateFormat(DATE_FULL_STR);
    return df.format(new Date());
}

/**
 * 獲取系統當前時間
 * @return
 */
public static String getNowTime(String type) {
    SimpleDateFormat df = new SimpleDateFormat(type);
    return df.format(new Date());
}

/**
 * 獲取系統當前計費期
 * @return
 */
public static String getJFPTime() {
    SimpleDateFormat df = new SimpleDateFormat(DATE_JFP_STR);
    return df.format(new Date());
}

/**
 * 將指定的日期轉換成Unix時間戳
 * @param String date 需要轉換的日期 yyyy-MM-dd HH:mm:ss
 * @return long 時間戳
 */
public static long dateToUnixTimestamp(String date) {
    long timestamp = 0;
    try {
        timestamp = new SimpleDateFormat(DATE_FULL_STR).parse(date).getTime();
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return timestamp;
}

/**
 * 將指定的日期轉換成Unix時間戳
 * @param String date 需要轉換的日期 yyyy-MM-dd
 * @return long 時間戳
 */
public static long dateToUnixTimestamp(String date, String dateFormat) {
    long timestamp = 0;
    try {
        timestamp = new SimpleDateFormat(dateFormat).parse(date).getTime();
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return timestamp;
}

/**
 * 將當前日期轉換成Unix時間戳
 * @return long 時間戳
 */
public static long dateToUnixTimestamp() {
    long timestamp = new Date().getTime();
    return timestamp;
}


/**
 * 將Unix時間戳轉換成日期
 * @param long timestamp 時間戳
 * @return String 日期字符串
 */
public static String unixTimestampToDate(long timestamp) {
    SimpleDateFormat sd = new SimpleDateFormat(DATE_FULL_STR);
    sd.setTimeZone(TimeZone.getTimeZone("GMT+8"));
    return sd.format(new Date(timestamp));
}

}

</pre>

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