計算一個人出生多少天(Java)
阿新 • • 發佈:2021-01-18
技術標籤:關於Data的那些事java
計算出一個人已經出生了多少天
思路:
獲取當前時間對應毫秒數
獲取自己出生時的對應毫秒數
兩個時間相減(當前時間-出生日期)
package work_16;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Test_3 {
public static void main (String[] args) throws ParseException {
//計算出一個人已經出生了多少天
/**
* 首先通過scanner獲取到出生日期
* 然後將string型別的出生日期轉換成Data格式
* 緊接著就是將Data格式的出生日期換算成方便計算的毫秒
* 再獲取當前的日期
* 將當前日期換算成毫秒
* 將當前日期和輸入的出生日期做差值,然後再將毫秒換算成天數,然後結束
**/
Scanner sc = new Scanner(System.in);
System.out.println("請輸入您的出生日期(格式為yyyy-MM-dd):");
String data_of_birth_String =sc.next();//獲取鍵盤輸入的資料
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//parse()把字串的出生日期,解析為Data格式的出生日期
Date birthdayDate = sdf.parse(data_of_birth_String) ;
long data_of_birth_time = birthdayDate .getTime();
//獲取當前日期
long todayTime = new Date().getTime();
long time = todayTime - data_of_birth_time;
if (time < 0 ){
System.out.println("您還沒出生呢!!!");
}else {
System.out.println("您出生了:" + time / 1000 / 60 / 60 / 24 + "天");
}
/**遇到的問題,丟擲異常為ParseException並不是平常的IOException異常
* 注意:“ParseException是一個異常類,表示解析異常,
* 這裡用import引入這個類,比如日期或者字串格式化會丟擲這個異常。”
**/
}
}
注意:在剛開始寫這份程式碼的時候,並沒有進行if條件的判斷,也就是說沒有驗證程式碼中 time<0 的情況,這就是一個邏輯上的不嚴謹。