java得到指定日期的星期一日期
阿新 • • 發佈:2018-12-13
一、得到當前的日期字串
/**
* @return 日期字串
*/
public static String getDate() {
return getDate(Calendar.getInstance());
}
二、將日期格式化為指定的字串
/** * @param d 日期. * @param format 輸出字串格式. * @return 日期字串 */ public static String getStringFromDate(Date d, String format) { SimpleDateFormat sdf = new SimpleDateFormat(format); return sdf.format(d); }
三、得到與指定日期相差指定天數的日期字串
/** * @param dateString 指定的日期. * @param period 前後的天數,正值為後, 負值為前. * @param periodType 週期類別 可以是天、月、年. * @return 日期字串 */ public static String getCertainDate(String dateString, int period, int periodType) { Calendar calendar = getCalendar(dateString); switch (periodType) { case 1: // 天 calendar.add(Calendar.DATE, period); break; case 2: // 月 calendar.add(Calendar.MONTH, period); break; case 3: // 年 calendar.add(Calendar.MONTH, period * 12); break; default: } return getStringFromDate(calendar.getTime(), FORMAT_DATE); }
三、得到本週星期一的日期.
/**
* @return 日期字串
*/
public static String getFirstDateOfWeek() {
return getFirstDateOfWeek(getDate());
}
四、得到指定日期的星期一的日期
/** * @param dateString 日期字串. * @return 本週星期一的日期 */ public static String getFirstDateOfWeek(String dateString) { Calendar calendar = getCalendar(dateString); int iCount; if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) { iCount = -6; } else { iCount = Calendar.MONDAY - calendar.get(Calendar.DAY_OF_WEEK); } return getCertainDate(dateString, iCount); }