java
获取和今日偏移指定日期的字符串
public static String getTodayDifString(int dif) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.add(Calendar.DATE, dif);
Date date = calendar.getTime();
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
}
获取指定日期所在周的周一日期
public static String getFirstDayOfWeek(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
if (calendar.get(Calendar.DAY_OF_WEEK) == 1) {
calendar.add(Calendar.DATE, -6);
} else {
calendar.add(Calendar.DATE, 2 - calendar.get(Calendar.DAY_OF_WEEK));
}
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime());
}
获取指定日期所在周的周日日期
public static String getLastDayOfWeek(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
if (calendar.get(Calendar.DAY_OF_WEEK) != 1) {
calendar.add(Calendar.DATE, 8 - calendar.get(Calendar.DAY_OF_WEEK));
}
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime());
}
获取指定日期所在月的第一天
public static String getFirstDayOfMonth(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DATE, -calendar.get(Calendar.DAY_OF_MONTH) + 1);
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime());
}
获取指定日期所在月的最后一天
public static String getLastDayOfMonth(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_MONTH,calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime());
}
mysql
获取指定日期所在周的周一日期
select date_sub(now(),INTERVAL weekday(now())+0 day);
获取指定日期所在周的周日日期
select date_sub(now(),INTERVAL weekday(now())-6 day);
获取指定日期所在月的第一天
select date_add(curdate(),interval -day(curdate())+1 day) ;
获取指定日期所在月的最后一天
select last_day(now());