java中三种日期类的总结和简单使用

一.Date类

现在该类中的很多方法以及弃用,但是如果只是想要输出个当前时间,还是可以简单使用的。

Date date = new Date();
        //默认输出的日期格式是国外的格式
        System.out.println(date);//返回当前的系统时间
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss E");
        String format = simpleDateFormat.format(date);
        System.out.println(format);//输出格式化后的日期
        //可以把一个格式化的String转化为对应的Date
        //得到的Date输出时仍按照国外的格式,可以继续使用simpleDateFormat来转换成中国的格式
        //转换的格式需要按照你定义的simleDateFormat的格式来写。
        String s = "1996年01月01日 10:20:30 星期一";
        Date parse = simpleDateFormat.parse(s);
        System.out.println(parse);

运行结果:

二.Calendar

/Calendar是一个抽象类,并且构造器是私有的,可以通过getInstance方法来获取实例
        Calendar instance = Calendar.getInstance();
        System.out.println(instance);//返回Calendar对象的字段
        //获取日历对象相关的字段即可
        System.out.println("年:" + instance.get(Calendar.YEAR));
        //这里加1的原因是外国的月是从0开始的
        System.out.println("月:" + (instance.get(Calendar.MARCH)+ 1));
        System.out.println("日:" + instance.get(Calendar.DAY_OF_MONTH));
        //默认是按照12小时进制,如果要使用24小时进制,改为HOUR_OF_DAY
        System.out.println("时:" +instance.get(Calendar.HOUR));
        System.out.println("分:" + instance.get(Calendar.MINUTE));
        System.out.println("秒:" + instance.get(Calendar.SECOND));

三.第三类日期LocalDateTime

    //第三类日期是在jdk8之后加入的
        LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println(localDateTime);
        System.out.println(localDateTime.getYear());
        System.out.println(localDateTime.getMonth());
        System.out.println(localDateTime.getMonthValue());//得到几月(数字形式)
        System.out.println(localDateTime.getDayOfMonth());
        System.out.println(localDateTime.getHour());
        //LocalDate是只能获取年月日。LocalTime只能获取时分秒
        //DateTimeFormatter类似于SimpleFormat
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 hh:mm:ss E");
        String format = dateTimeFormatter.format(localDateTime);
        //按格式输出时间
        System.out.println(format);
        //获取时间戳
        Instant now = Instant.now();
        System.out.println(now);
        //通过Date.from方法将Instant对象转换为Date
        Date from = Date.from(now);
        //也可以通过Date的toInstant()可以把Date转换为Instant对象
        Instant instant = from.toInstant();
        //=============================================================
        //提供了大量的plus和minus方法对时间进行加减
        LocalDateTime localDateTime1 = localDateTime.plusDays(890);
        String format1 = dateTimeFormatter.format(localDateTime1);
        System.out.println(format1);
        LocalDateTime localDateTime2 = localDateTime.minusMinutes(3456);
        String format2 = dateTimeFormatter.format(localDateTime2);
        System.out.println(format2);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值