1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 从当前日期算起 获取几天前的日期和几个月前的日期

从当前日期算起 获取几天前的日期和几个月前的日期

时间:2021-02-20 08:19:20

相关推荐

从当前日期算起 获取几天前的日期和几个月前的日期

/*** 从当前日期算起,获取N天前的日期(当前日不算在内),日期格式为yyyy-MM-dd* * @param daily 天数* @return */public static String getDateByDay(Integer daily) {Date date = new Date();int year = Integer.parseInt(new SimpleDateFormat("yyyy").format(date));int month = Integer.parseInt(new SimpleDateFormat("MM").format(date));int day = Integer.parseInt(new SimpleDateFormat("dd").format(date)) - daily;if (day < 1) {month -= 1;if (month == 0) {year -= 1;month = 12;}if (month == 4 || month == 6 || month == 9 || month == 11) {day = 30 + day;} else if (month == 1 || month == 3 || month == 5 || month == 7|| month == 8 || month == 10 || month == 12) {day = 31 + day;} else if (month == 2) {if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {day = 29 + day;}else {day = 28 + day;}}}String y = year + "";String m = "";String d = "";if (month < 10) {m = "0" + month;} else {m = month + "";}if (day < 10) {d = "0" + day;} else {d = day + "";}return y + "-" + m + "-" + d;}/*** 从当前日期算起,获取N个月前的日期,日期格式为yyyy-MM-dd* * @param mon 月份* @return*/public static String getDateByMonth(Integer mon) {Date date = new Date();int year = Integer.parseInt(new SimpleDateFormat("yyyy").format(date));int month = Integer.parseInt(new SimpleDateFormat("MM").format(date)) - mon;int day = Integer.parseInt(new SimpleDateFormat("dd").format(date));if (month == 0) {year -= 1;month = 12;} else if (day > 28) {if (month == 2) {if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {day = 29;} else {day = 28;}} else if ((month == 4 || month == 6 || month == 9 || month == 11)&& day == 31) {day = 30;}}String y = year + "";String m = "";String d = "";if (month < 10) {m = "00" + month;} else {m = month + "";}if (day < 10) {d = "0" + day;} else {d = day + "";}return y + "-" + m + "-" + d;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。