概述
代码:
public class Test {
public static void main(String[] args) {
// 打印该年份的第一天的日期
getFirstDateForYear(2020);
// 打印该年份的最后一天的日期
getLastDateForYear(2020);
// 打印该年份中的该月份第一天的日期
getFirstDateForYearAndMonth(2020, 12);
// 打印该年份中的该月份最后一天的日期
getLastDateForYearAndMonth(2020, 12);
// 打印该日期之前几天的日期
getFrontDate1(new Date(), 1);
// 打印该日期之前几天的日期
getFrontDate2(new Date(), 1);
}
/**
* 打印该年份的第一天
*
* @param year 年份
*/
public static void getFirstDateForYear(int year) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, calendar.getActualMinimum(Calendar.MONTH));
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
System.out.println(year + "年的第一天:" + new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()));
}
/**
* 打印该年份的最后一天
*
* @param year 年份
*/
public static void getLastDateForYear(int year) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, calendar.getActualMaximum(Calendar.MONTH));
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
System.out.println(year + "年的最后一天:" + new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()));
}
/**
* 打印该月份的第一天
*
* @param year
年份
* @param month 月份
*/
public static void getFirstDateForYearAndMonth(int year, int month) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month - 1);
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
System.out.println(year + "年" + month + "月份的第一天:" + new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()));
}
/**
* 打印该月份的第一天
*
* @param year
年份
* @param month 月份
*/
public static void getLastDateForYearAndMonth(int year, int month) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month - 1);
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
System.out.println(year + "年" + month + "月份的最后一天:" + new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()));
}
/**
* 打印该日期之前几天的日期
*
* @param date 日期
* @param day
天数
*/
public static void getFrontDate1(Date date, int day) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
// 之后的加上正值
calendar.add(Calendar.DAY_OF_MONTH, day * -1);
System.out.println("某天前一天:" + new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()));
}
/**
* 打印该日期之前几天的日期
*
* @param date 日期
* @param day
天数
*/
public static void getFrontDate2(Date date, int day) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
// 之后的用plusDays()方法
LocalDate localDate = LocalDate.of(calendar.getWeekYear(), calendar.get(Calendar.MONTH) + 1, calendar.get(Calendar.DAY_OF_MONTH)).minusDays(day);
System.out.println("某天前一天:" + localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
}
}
结果:
2020年的第一天:2020-01-01
2020年的最后一天:2020-12-31
2020年12月份的第一天:2020-12-01
2020年12月份的最后一天:2020-12-31
某天前一天:2021-04-16
某天前一天:2021-04-16
延伸
至于开头和末尾的时分秒,大家也是可以通过这种方法得到的,所以不再赘述
最后
以上就是缓慢秋天为你收集整理的java中如何获取 某年第一天、某年最后一天、某月第一天、某月最后一天的全部内容,希望文章能够帮你解决java中如何获取 某年第一天、某年最后一天、某月第一天、某月最后一天所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复