Calendarによるjava日付処理
取得時点が存在する日の開始時刻と終了時刻(From Quartz):
同様に、週、月、年は同様に処理することができます.
get Day of week
protected java.util.Calendar getStartOfDayJavaCalendar(long timeInMillis) {
java.util.Calendar startOfDay = createJavaCalendar(timeInMillis);
startOfDay.set(java.util.Calendar.HOUR_OF_DAY, 0);
startOfDay.set(java.util.Calendar.MINUTE, 0);
startOfDay.set(java.util.Calendar.SECOND, 0);
startOfDay.set(java.util.Calendar.MILLISECOND, 0);
return startOfDay;
}
protected java.util.Calendar getEndOfDayJavaCalendar(long timeInMillis) {
java.util.Calendar endOfDay = createJavaCalendar(timeInMillis);
endOfDay.set(java.util.Calendar.HOUR_OF_DAY, 23);
endOfDay.set(java.util.Calendar.MINUTE, 59);
endOfDay.set(java.util.Calendar.SECOND, 59);
endOfDay.set(java.util.Calendar.MILLISECOND, 999);
return endOfDay;
}
protected java.util.Calendar createJavaCalendar(long timeStamp) {
java.util.Calendar calendar = createJavaCalendar();
calendar.setTime(new Date(timeStamp));
return calendar;
}
/**
* 。
*
* @author zhangruimin
* @return
*/
public static Date getFirstDayInMonth(long timeInMillis) {
Calendar c = Calendar.getInstance();
c.setTime(new Date(timeInMillis));
c.set(Calendar.DATE, 1);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
return java.sql.Date.valueOf(df.format(c.getTime()));
}
/**
* 。
*
* @author zhangruimin
* @return
*/
public static Date getLastDayInMonth(long timeInMillis) {
Calendar c = Calendar.getInstance();
c.setTime(new Date(timeInMillis));
c.set(Calendar.DATE, 1);
c.roll(Calendar.DATE, -1);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
return java.sql.Date.valueOf(df.format(c.getTime()));
}
/**
* ( )
* @return
*/
public static Date getCurrentSunday() {
Calendar c = Calendar.getInstance();
c.setFirstDayOfWeek(Calendar.MONDAY);
c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
return java.sql.Date.valueOf(df.format(c.getTime()));
}
同様に、週、月、年は同様に処理することができます.
get Day of week
java.util.Calendar cl = createJavaCalendar(timeStamp);
int wday = cl.get(java.util.Calendar.DAY_OF_WEEK);