DateUtils.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){
}else if(date1<date2){return 1;
}else{return -1;
} }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>