java日期处理函数

时间:2023-03-09 22:45:57
java日期处理函数

java中获取本年第一天的日期

public static Timestamp getYearFirstDay() {
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+8:00"));// 设置时区~如果使用UTC时区,可以不用设置
int year = calendar.get(Calendar.YEAR);
calendar.clear();
calendar.set(Calendar.YEAR, year);
return new Timestamp(calendar.getTimeInMillis());
}

输出结果:

2016-01-01 00:00:00.0

java中获取本周第一天的日期

public static Timestamp getMondayTime() {
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+8:00"));// 设置时区~如果使用UTC时区,可以不用设置
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
int dayWeek = calendar.get(Calendar.DAY_OF_WEEK);
if (1 == dayWeek) {
calendar.add(Calendar.DAY_OF_MONTH, -1);
}
calendar.setFirstDayOfWeek(Calendar.MONDAY); //设置周一为一周的第一天,否则默认是周日 int day = calendar.get(Calendar.DAY_OF_WEEK); //一周有多少天
calendar.add(Calendar.DATE, calendar.getFirstDayOfWeek() - day);
return new Timestamp(calendar.getTimeInMillis());
}

获取上个月的第一天:

// 获取上个月的第一天
public static Timestamp getFirstDayForLastMonth() {
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+8:00"));
calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
return new Timestamp(calendar.getTimeInMillis());
}

获取上个月的最后一天:

// 获取上个月的最后一天
public static Timestamp getLastDayForLastMonth() {
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+8:00"));
calendar.set(Calendar.DAY_OF_MONTH, 0);
return new Timestamp(calendar.getTimeInMillis());
}