?? dateformatutils.java
字號:
/**
* 時間及時間格式處理
* */
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
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
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;
}
//將日期字符串轉換成日期時間字符串
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
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;
}
//將時間字符串從一種格式轉換成另一種格式
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);
}
//日期天數增加
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();
}
//日期天數減少
public static Date minusDays(Date date, int days) {
return addDays(date, (0 - days));
}
//按時間格式相加
//dateStr 原來時間 / pattern 時間格式
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);
}
//按時間格式相減
public static String minusDate(String dateStr, String pattern,
String type, int count) {
return addDate(dateStr, pattern, type, (0 - count));
}
//日期大小比較
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);
}
//獲得本月的第一天
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);
}
//獲得本月的最后一天
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);
}
//獲得本周的第一天
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 + -