import java.util.Scanner;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Day {
public static void main(String[] args) throws ParseException {
Scanner sc = new Scanner(System.in);
System.out.println("请日期 格式如2010-11-25:");
String bir = sc.nextLine();
//SimpleDateFormat指定日期格式
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//把按日期格式输入的字符串转变为日期类型
Date date = format.parse(bir);
//获得转变成日期格式的字符串的毫秒值
long time = date.getTime();
//获取当前的毫秒值
long now = System.currentTimeMillis();
//因为相减的是毫秒值要把它转变为天数所以要进行计算
System.out.println("指定的日期与今天相距" + (now - time) / 1000 / 60 / 60 / 24 + "天");
}
}
结果
请日期 格式如2010-11-25:
2018-10-31
指定的日期与今天相距2天
2、键盘录入任意一个年份,获取任意一年的二月有多少天
import java.util.Calendar;
import java.util.Scanner;
public class Day {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份:");
int y = sc.nextInt();
//获取 Calendar 对象
Calendar in = Calendar.getInstance();
//设置年月日,设置成3月1日,因为在这里月份是从0开始的,因此月设置成2
in.set(y,2,1);
//每一个月的3月1号减去1就是二月了,这样我们就可以获得二月的天数了
in.add(Calendar.DAY_OF_MONTH,-1);
//获得二月的天数,DAY_OF_MONTH是Calendar的字段
int i = in.get(Calendar.DAY_OF_MONTH);
System.out.println(y+"年二月有"+i+"天");
}
}