多余不解释,直接看代码
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateUtil {
private DateUtil(){}
//解析
public static Date StringToDate(String s,String pattern) throws ParseException {
return new SimpleDateFormat(pattern).parse(s);
}
//格式化
public static String DateToString(Date d,String pattern){
return new SimpleDateFormat(pattern).format(d);
}
}
import java.text.ParseException;
import java.util.Date;
import java.util.Scanner;
public class Demo6 {
public static void main(String[] args) throws ParseException {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的生日:(格式yyyy-mm-dd)");
String s = sc.nextLine();
Date birthday = DateUtil.StringToDate(s, "yyyy-MM-dd");
long start = birthday.getTime();
long now = System.currentTimeMillis();
long life = now - start;
long day = life / 1000 / 60 / 60 / 24;
System.out.println("从你出生到现在已经过了:" + day + "天了。");
}
}
其中用了util包下的Date方法与DataFormat类等,通过调用方法实现某时间段到现在的天数,本质思想就是利用:现在时间的毫秒数-某个时间的毫秒数/进制数1000/进制数60/进制数60/进制数24=天数,在这其中要注意输入字符串转换为时间毫秒进行计算的。