public static void demo() throws ParseException {
System.out.println("请输入指定格式的日期yyyy-MM-dd:");
Scanner scan = new Scanner(System.in);
String date = scan.nextLine();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date d = sdf.parse(date);
Calendar c = Calendar.getInstance();
c.setTime(d);
c.add(c.DAY_OF_MONTH, -1);
System.out.println(sdf.format(c.getTime()));
} 请高手帮我解释一下string date=scan.nextline();后面的分别是什么意思,具体点啊,谢谢。谁的具体。我一次性给了全部分。
System.out.println("请输入指定格式的日期yyyy-MM-dd:");
Scanner scan = new Scanner(System.in);
String date = scan.nextLine();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date d = sdf.parse(date);
Calendar c = Calendar.getInstance();
c.setTime(d);
c.add(c.DAY_OF_MONTH, -1);
System.out.println(sdf.format(c.getTime()));
} 请高手帮我解释一下string date=scan.nextline();后面的分别是什么意思,具体点啊,谢谢。谁的具体。我一次性给了全部分。
把字符串解析后放在d中;
定义一个日期实例c;
c的日期设置为d;
把c的日期减1;
然后输出
Date d = sdf.parse(date); //分析字符串,得到输入的日期类型
Calendar c = Calendar.getInstance(); //获取Calendar的实例
c.setTime(d); //将Calendar c的时间设置为输入的日期
c.add(c.DAY_OF_MONTH, -1); //DAY_OF_MONTH (即日期) 减1
System.out.println(sdf.format(c.getTime()));
//c.getTime()是返回Calendar c中的时间(即已经运算了日期减1)
//sdf.format是将日期转换为字符串,格式由第一行语句指定了