Java根据给定的日期计算其前一天和后一天的日期
转自:http://my.csdn.net/shenfuding_cn/code/detail/34403
package com.xtgd.test; import java.io.BufferedReader; import java.io.InputStreamReader; public class Test { public static void main(String[] args) { try { BufferedReader br = new BufferedReader(new InputStreamReader( System.in)); System.out.println("请输入年份"); String s1 = br.readLine(); System.out.println("请输入月份"); String s2 = br.readLine(); System.out.println("请输入日份"); String s3 = br.readLine(); int year = Integer.parseInt(s1); int month = Integer.parseInt(s2); int day = Integer.parseInt(s3); if (year >= 0 && month >= 1 && month <= 12) { if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) { if (day >= 1 && day <= 31) { System.out.println("您输入的日期为:" + year + "年" + month + "月" + day + "日"); if (day == 31) { if (month == 12) System.out.println("且上一天为:" + year + "年12月" + (day - 1) + "日" + "," + "下一天为:" + (year + 1) + "年1月1日"); else System.out.println("且上一天为:" + year + "年" + month + "月" + (day - 1) + "日" + "," + "下一天为:" + year + "年" + (month + 1) + "月1日"); } else if (day == 1) { if (month == 1) System.out.println("且上一天为:" + (year - 1) + "年12月31日" + "," + "下一天为:" + year + "年" + month + "月" + (day + 1) + "日"); else if (month == 3) { if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) System.out.println("且上一天为:" + year + "年2月29日" + "," + "下一天为:" + year + "年" + month + "月" + (day + 1) + "日"); else System.out.println("且上一天为:" + year + "年2月28日" + "," + "下一天为:" + year + "年" + month + "月" + (day + 1) + "日"); } else System.out.println("且上一天为:" + year + "年" + (month - 1) + "月30日" + "," + "下一天为:" + year + "年" + month + "月" + (day + 1) + "日"); } else System.out.println("且上一天为:" + year + "年" + month + "月" + (day - 1) + "日" + "," + "下一天为:" + year + "年" + month + "月" + (day + 1) + "日"); } else System.out.println("您输入的日期不合法"); } else if (month == 4 || month == 6 || month == 9 || month == 11) { if (day >= 1 && day <= 30) { System.out.println("您输入的日期为:" + year + "年" + month + "月" + day + "日"); if (day == 30) System.out.println("且上一天为:" + year + "年" + month + "月" + (day - 1) + "日" + "," + "下一天为:" + year + "年" + (month + 1) + "月1日"); else if (day == 1) System.out.println("且上一天为:" + year + "年" + (month - 1) + "月31日" + "," + "下一天为:" + year + "年" + month + (day + 1) + "日"); else System.out.println("且上一天为:" + year + "年" + month + "月" + (day - 1) + "日" + "," + "下一天为:" + year + "年" + month + (day + 1) + "日"); } else System.out.println("您输入的日期不合法"); } else if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) { if (day == 29) System.out.println("您输入的日期为:" + year + "年" + month + "月" + day + "日" + "n" + "且上一天为:" + year + "年2月28日" + "," + "下一天为:" + year + "年3月1日"); else { if (day == 28) System.out.println("您输入的日期为:" + year + "年" + month + "月" + day + "日" + "n" + "且上一天为:" + year + "年2月27日" + "," + "下一天为:" + year + "年2月29日"); else System.out.println("您输入的日期不合法"); } } } else { System.out.println("您输入的日期不合法"); } } catch (Exception e) { e.printStackTrace(); } } }