?? dateformatutils.java~9~
字號:
/**
* 時間以及時間格式處理
* */
package com.lianjiping.democ;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
public class DateFormatUtils {
//系統默認日期格式
public static final String DATE_FORMAT = "yyyy-MM-dd";
//系統默認日期時間格式
public static final String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
//8位日期格式
public static final String DATE_FORMAT_8 = "yyyyMMdd";
//14位日期時間格式
public static final String DATE_TIME_FORMAT_14 = "yyyyMMddHHmmss";
public final static String YEAR = "year";
public final static String MONTH = "month";
public final static String DAY = "day";
public final static String WEEK = "week";
public final static String HOUR = "hour";
public final static String MINUTE = "minute";
public final static String SECOND = "second";
//判斷參數是否等于空
private static boolean checkPara(Object para) {
if (null == para || "".equals(para)) {
return true;
} else {
return false;
}
}
//獲得系統的當前時間(毫秒)
public static long getCurrentTimeMillis() {
return System.currentTimeMillis();
}
//獲得系統的當前時間
public static Date getCurrentDate() {
// return new Date(System.currentTimeMillis());
return new Date(getCurrentTimeMillis());
}
//獲得系統的當前日期(默認格式)
public static String getCurrentFormatDate() {
Date currentDate = getCurrentDate();
SimpleDateFormat dateFormator = new SimpleDateFormat(
DateFormatUtils.DATE_FORMAT);
return dateFormator.format(currentDate);
}
//獲得系統的當前日期時間(默認格式)
public static String getCurrentFormatDateTime() {
Date currentDate = getCurrentDate();
SimpleDateFormat dateFormator = new SimpleDateFormat(
DateFormatUtils.DATE_TIME_FORMAT);
return dateFormator.format(currentDate);
}
//獲得系統的當前日期時間(指定格式返回)
public static String getCurrentCustomFormatDateTime(String pattern) {
if (checkPara(pattern)) {
return "";
}
Date currentDate = getCurrentDate();
SimpleDateFormat dateFormator = new SimpleDateFormat(pattern);
return dateFormator.format(currentDate);
}
//輸入日期(指定格式返回)
public static String formatDate(Date date, String pattern) {
if (checkPara(pattern) || checkPara(date)) {
return "";
}
SimpleDateFormat dateFormator = new SimpleDateFormat(pattern);
return dateFormator.format(date);
}
//輸入日期(指定格式返回)
public static String formatDate(Date date, String pattern, Locale locale) {
if (checkPara(pattern) || checkPara(date)) {
return "";
}
if (checkPara(locale)) {
locale = Locale.getDefault();
}
SimpleDateFormat dateFormator = new SimpleDateFormat(pattern, locale);
String customFormatDate = dateFormator.format(date);
return customFormatDate;
}
//將時間字符串按照默認格式(DATE_FORMAT = "yyyy-MM-dd",轉換為Date
public static Date parseStrToDate(String dateStr) {
if (checkPara(dateStr)) {
return null;
}
SimpleDateFormat dateFormator = new SimpleDateFormat(
DateFormatUtils.DATE_FORMAT);
Date resDate = dateFormator.parse(dateStr, new ParsePosition(0));
return resDate;
}
/** */
/**
* 將時間字符串按照默認格式DATE_TIME_FORMAT ="yyyy-MM-dd HH:mm:ss",轉換為Date
* @param dateStr
* @return
*/
public static Date parseStrToDateTime(String dateStr) {
if (checkPara(dateStr)) {
return null;
}
SimpleDateFormat dateFormator = new SimpleDateFormat(
DateFormatUtils.DATE_TIME_FORMAT);
Date resDate = dateFormator.parse(dateStr, new ParsePosition(0));
return resDate;
}
/** */
/**
* 將時間字符串按照默認格式DATE_FORMAT = "yyyy-MM-dd",轉換為Calender
* @param dateStr
* @return
*/
public static Calendar parseStrToCalendar(String dateStr) {
if (checkPara(dateStr)) {
return null;
}
SimpleDateFormat dateFormator = new SimpleDateFormat(
DateFormatUtils.DATE_TIME_FORMAT);
Date resDate = dateFormator.parse(dateStr, new ParsePosition(0));
Locale locale = Locale.getDefault();
Calendar cal = new GregorianCalendar(locale);
cal.setTime(resDate);
return cal;
}
/** */
/**
* 將日期字符串轉換成日期時間字符串
* @param dateStr
* @return
*/
public static String parseDateStrToDateTimeStr(String dateStr) {
if (checkPara(dateStr)) {
return "";
}
SimpleDateFormat dateFormator = new SimpleDateFormat(
DateFormatUtils.DATE_FORMAT);
Date resDate = dateFormator.parse(dateStr, new ParsePosition(0));
return formatDate(resDate, DateFormatUtils.DATE_TIME_FORMAT);
}
/** */
/**
* 將時間或者時間日期字符串按照指定格式轉換為Date
* @param dateStr
* @param pattern
* @return
*/
public static Date parseStrToCustomPatternDate(String dateStr,
String pattern) {
if (checkPara(pattern) || checkPara(dateStr)) {
return null;
}
SimpleDateFormat dateFormator = new SimpleDateFormat(
pattern);
Date resDate = dateFormator.parse(dateStr, new ParsePosition(0));
return resDate;
}
/** */
/**
* 將時間字符串從一種格式轉換成另一種格式.
* @param dateStr
* e.g. String dateStr = "2006-10-12 16:23:06";
* @param patternFrom
* e.g. DatePattern.DATE_TIME_FORMAT
* @param patternTo
* e.g. DatePattern.DATE_TIME_FORMAT_14
* @return
*/
public static String convertDatePattern(String dateStr,
String patternFrom,
String patternTo) {
if (checkPara(patternFrom) || checkPara(patternTo) || checkPara(dateStr)) {
return "";
}
SimpleDateFormat dateFormator = new SimpleDateFormat(
patternFrom);
Date resDate = dateFormator.parse(dateStr, new ParsePosition(0));
return formatDate(resDate, patternTo);
}
/** */
/**
* 日期天數增加
* @param date
* @param days
* @return
*/
public static Date addDays(Date date, int days) {
if (checkPara(date)) {
return null;
}
if (0 == days) {
return date;
}
Locale loc = Locale.getDefault();
Calendar cal = new GregorianCalendar(loc);
cal.setTime(date);
cal.add(Calendar.DAY_OF_MONTH, days);
return cal.getTime();
}
/** */
/**
* 日期天數減少
* @param date
* @param days
* @return
*/
public static Date minusDays(Date date, int days) {
return addDays(date, (0 - days));
}
/** */
/**
* 按時間格式相加
* @param dateStr 原來的時間
* @param pattern 時間格式
* @param type
* "year"年、"month"月、"day"日、"week"周、
* "hour"時、"minute"分、"second"秒
* 通過常量來設置,e.g.DateFormatUtils.YEAR
* @param count 相加數量
* @return
*/
public static String addDate(String dateStr, String pattern,
String type, int count) {
if (checkPara(dateStr) || checkPara(pattern) || checkPara(type)) {
return "";
}
if (0 == count) {
return dateStr;
}
Date date = parseStrToCustomPatternDate(dateStr, pattern);
Locale loc = Locale.getDefault();
Calendar cal = new GregorianCalendar(loc);
cal.setTime(date);
if (DateFormatUtils.YEAR.equals(type)) {
cal.add(Calendar.YEAR, count);
} else if (DateFormatUtils.MONTH.equals(type)) {
cal.add(Calendar.MONTH, count);
} else if (DateFormatUtils.DAY.equals(type)) {
cal.add(Calendar.DAY_OF_MONTH, count);
} else if (DateFormatUtils.WEEK.equals(type)) {
cal.add(Calendar.WEEK_OF_MONTH, count);
} else if (DateFormatUtils.HOUR.equals(type)) {
cal.add(Calendar.HOUR, count);
} else if (DateFormatUtils.MINUTE.equals(type)) {
cal.add(Calendar.MINUTE, count);
} else if (DateFormatUtils.SECOND.equals(type)) {
cal.add(Calendar.SECOND, count);
} else {
return "";
}
return formatDate(cal.getTime(), pattern);
}
/** */
/**
* 那時間格式相減
* @param dateStr
* @param pattern
* @param type
* @param count
* @return
*/
public static String minusDate(String dateStr, String pattern,
String type, int count) {
return addDate(dateStr, pattern, type, (0 - count));
}
/** */
/**
* 日期大小比較
* @param dateStr1
* @param dateStr2
* @param pattern
* @return
*/
public static int compareDate(String dateStr1, String dateStr2,
String pattern) {
if (checkPara(dateStr1) || checkPara(dateStr2) || checkPara(pattern)) {
return 888;
}
Date date1 = DateFormatUtils.parseStrToCustomPatternDate(dateStr1,
pattern);
Date date2 = DateFormatUtils.parseStrToCustomPatternDate(dateStr2,
pattern);
return date1.compareTo(date2);
}
/** */
/**
* 獲得這個月的第一天
* @param dateStr
* @return
*/
public static String getFirstDayInMonth(String dateStr) {
if (checkPara(dateStr)) {
return "";
}
Calendar cal = DateFormatUtils.parseStrToCalendar(dateStr);
int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH);
cal.set(Calendar.DAY_OF_MONTH, firstDay);
return DateFormatUtils.formatDate(cal.getTime(),
DateFormatUtils.DATE_FORMAT);
}
/** */
/**
* 獲得這個月的最后一天
* @param dateStr
* @return
*/
public static String getLastDayInMonth(String dateStr) {
if (checkPara(dateStr)) {
return "";
}
Calendar cal = DateFormatUtils.parseStrToCalendar(dateStr);
int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
cal.set(Calendar.DAY_OF_MONTH, lastDay);
return DateFormatUtils.formatDate(cal.getTime(),
DateFormatUtils.DATE_FORMAT);
}
/** */
/**
* 獲得這周的第一天
* @param dateStr
* @return
*/
public static String getFirstDayInWeek(String dateStr) {
if (checkPara(dateStr)) {
return "";
}
Calendar cal = DateFormatUtils.parseStrToCalendar(dateStr);
int firstDay = cal.getActualMinimum(Calendar.DAY_OF_WEEK);
cal.set(Calendar.DAY_OF_WEEK, firstDay);
return DateFormatUtils.formatDate(cal.getTime(),
DateFormatUtils.DATE_FORMAT);
}
//本周最后一天
public static String getLastDayInWeek(String dateStr) {
if (checkPara(dateStr)) {
return "";
}
Calendar cal = DateFormatUtils.parseStrToCalendar(dateStr);
int lastDay = cal.getActualMaximum(Calendar.DAY_OF_WEEK);
cal.set(Calendar.DAY_OF_WEEK, lastDay);
return DateFormatUtils.formatDate(cal.getTime(),
DateFormatUtils.DATE_FORMAT);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -