一人で何日生きたか、何時、何分、何秒生きたかを計算します.

2109 ワード

知識点:
public**Date()**クラス:現在のシステム時間を取得します.public long gettime():日付オブジェクトを対応する時間ミリ秒値に変換する.public SimpleDateFormat(String s) ; 日時を表すカスタムフォーマットpublic Date parse(String source):文字列をDateオブジェクトに解析

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

public class Test01_Birthday_$ {
    public static void main(String[] args) throws ParseException {
        //         :
        Scanner sc = new Scanner(System.in);
        System.out.println("       :");
        String name = sc.next();

        //         
        System.out.println("            : yyyy-MM-dd");
        String beginTime = sc.next();

        //     SimpleDateFormate("     ");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date date = sdf.parse(beginTime);  //         (     )    Date .

        //       .
        Date nowTime = new Date();

        //  Date            ,
        long time = nowTime.getTime();
        long time1 = date.getTime();
        long birthday = time - time1;  //         

        //           .
        if(birthday < 0 ){
            System.out.println("     ");
        }else{
            // 1  = 24 , 1  = 60 , 1  = 60 , 1  = 1000   .
            int day = birthday / (1000 * 60 * 60 * 24); 
            int hour = birthday / (1000 * 60 * 60) - (day * 24); 
            int min = birthday / (1000 * 60) - day * 24 * 60 - hour * 60; 
            int second = birthday / 1000 - day * 60 * 60 * 24 - hour * 60 * 60 - min * 60; 
            System.out.println(name+",     :"+day+" " + hour + " "+ min + " "+ second + " !");
           
            System.out.println(name+",   :"+birthday / 1000 / 60 / 60 / 24 / 365+"  !");
        }


    }
}

注意:
①ParseException異常:SimpleDateFormate(""):カッコ内のフォーマットは、必ずキーボード入力日のフォーマットと一致しなければなりません.そうしないとParseException異常が放出されます.②異常を放出する方法(parse()を呼び出すと、この異常を解決しなければならない:1.throwsの投げ出しメソッドの呼び出し者2を継続する.try...catchを使用して異常を自分で処理