Date轉String
/**
* Date to String.
*
* @param date
* @return yyyy-MM-dd HH:mm:ss
*/
static public String date2String(Date date) {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()).format(date);
}
Date轉String(根據指定格式)
/**
* Date to string.
*
* @param date
* @param pattern yyyy-MM-dd HH:mm:ss, yyyy-MM-dd ...
* @return date string
*/
public static String date2String(Date date, String pattern) {
return new SimpleDateFormat(pattern, Locale.getDefault()).format(date);
}
String轉Date
/**
* String to date.
*
* @param dStr sample: 2001-12-2 21:12:39
* @return date
*/
public static Date str2Date(String dStr) {
String[] parsePatterns = new String[]{"yyyy-MM-dd HH:mm:ss", "yyyyMMddHHmmss", "yyyy-MM-dd HH:mm:ss,SSS", "yyyy-MM-dd", "yyyyMMdd"};
Date result = null;
try {
result = DateUtils.parseDate(dStr, parsePatterns);
} catch (ParseException e) {
// logger.error("String2Date(String) Error! " + e.getMessage());
}
return result;
}
返回指定月份有多少天
/**
* Month day count.返回指定的月份有多少天
*
* @param date the d
* @return the int
*/
public static int monthDayCount(Date date) {
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
calendar.add(Calendar.MONTH, 1);
Date d1 = calendar.getTime();
// 時間相減後還要去處時區間的時差8小時
long diff = d1.getTime() - date.getTime() - calendar.getTimeZone().getOffset
(d1.getTime());
calendar.setTime(new Date(diff));
System.out.println(calendar);
int day = calendar.get(Calendar.DAY_OF_YEAR) - 1;
return day;
}
計算兩個日期相差天數
/**
* 計算兩個日期相差天數。 用第一個日期減去第二個。如果前一個日期小於後一個日期,則返回負數
*
* @param checkDate 待比較日期
* @param baseDate 基準期數
* @return 兩個日期相差天數
*/
public static long diffDays(Date checkDate, Date baseDate) {
return (checkDate.getTime() - baseDate.getTime()) / (24 * 60 * 60 * 1000);
}
獲得當前月的第一天和最後一天
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
String first = null;//第一天
String last = null;//第二天
//獲取當前月的第一天
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_MONTH,1);//設置爲1號,當前日期既爲本月第一天
first = sdf.format(c.getTime());
//獲得當前月的最後一天
c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));
last = sdf.format(c.getTime());
未完待續。。。。。。。