计算一个人活了多少天, 多少时, 多少分, 多少秒?

知识点:

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自己处理异常

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值