Java学习笔记——日期时间类

Date表示特定的瞬间,精确到毫秒(千分之一秒)
毫秒值的作用:可以对时间和日期进行计算,可以把日期转换为毫秒进行计算,计算完毕后,再把毫秒转换为日期
把日期转换为毫秒:
当前日期
时间原点(0毫秒):1970年1月1日00:00:00(英国格林威治标准时间)
就是计算当前日期到时间原点之间一共经历了多少毫秒
常用构造方法:
1.Date类空参数构造方法,Date()获取当前系统日期和时间
2.Date类带参数构造方法,Date(long date)传递毫秒值,把毫秒转化为Date日期
3.long getTime()把日期转化为毫秒值(相当于System.currentTimeMillis()方法)返回自1970年1月1日以来,由此 Date对象表示的00:00:00 GMT的毫秒数 。

DataFormat
y年 M月 d日 H时 m分 s秒
写对应的模式,会把模式替换为对应的日期和时间
例:“yyyy-MM-dd HH:mm:ss”
注意,模式中的字母不能更改,连接的符号可以更改

练习,使用日期时间相关的API,计算一个人已经出生了多少天?
分析:
1.使用Scann类中的方法next获取出生日期
2.使用DateFormat类中的方法parse,把字符串的出生日期,解析为Date的格式的出生日期
3.把Date格式的出生日期转换为毫秒值
4.获取当前的日期,转化为毫秒值
5.使用当前日期的毫秒值-出生日期的毫秒值
6.把毫秒值转换为天(s/1000/60/60/24)

public class Demo02Tast {
    public static void main(String[] args) throws ParseException {
        //1.使用Scann类中的方法next获取出生日期
        Scanner sc= new Scanner(System.in);
        System.out.println("请输入您的出生日期,格式:yyyy-MM-dd");
        String birthday = sc.next();
        //2.使用DateFormat类中的方法parse,把字符串的出生日期,解析为Date的格式的出生日期
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date birthdayDate = sdf.parse(birthday);
        //3.把Date格式的出生日期转换为毫秒值
        long birthdayDateTime = birthdayDate.getTime();
        //4.获取当前的日期,转化为毫秒值
        long todayTime = new Date().getTime();
        //5.使用当前日期的毫秒值-出生日期的毫秒值
        long time=todayTime-birthdayDateTime;
        //6.把毫秒值转换为天(s/1000/60/60/24)
        System.out.println(time/1000/60/60/24);
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_42443419/article/details/86546338
今日推荐