1. 程式人生 > >根據使用者輸入的生日,輸出使用者已經活了多少天。

根據使用者輸入的生日,輸出使用者已經活了多少天。

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;


/**
 * 
 * @author hws
 *@date 2018-04-10
 *
 *1 使用者輸入一個生日時間字串 計算他活了多少天,多少秒,多少時
 *3.使用者輸入任意字串 將其反轉
 *3.for多次測試String StringBuffer StringBuilder 的效率
 */
public class StringWork {
public static void main(String[] args) throws ParseException {
/*//使用者輸入一個生日字串,計算他活了多少天,多少時,多少秒
System.out.println("請按格式輸入生日:yyyy-MM-dd");
Scanner sc=new Scanner(System.in);
String birthday=sc.next(); 
//生日的正則表示式
String a="^\\d{4}-\\d{2}-\\d{2}";
//判斷使用者輸入的生日是否匹配正則表示式
if(birthday.matches(a)) {
//將使用者輸入的生日轉換為date格式
String s1="yyyy-MM-dd";
SimpleDateFormat sdf = new SimpleDateFormat(s1);
//將String轉換為date格式
Date date = sdf.parse(birthday);

//當前時間
Date now = new Date();
//getTime返回至1970年1月1日到此日期的毫秒數
long time = now.getTime();
//Date date2 = new Date();
//返回輸入的生日到1970-01-01的毫秒數
long time2 = date.getTime();
//相減就得到你已經活了的毫秒數
long sum =time-time2;
//轉換成天數
long day=sum/1000/60/60/24;

System.out.println("到現在您一共活了"+day+"天!\n"+"請繼續加油哦!");


}else{
System.out.println("輸入的生日格式不對!");
}