LocalDateTime

对象创建

        //获取 LocalDateTime 对象 时间为系统当前时间精确到毫秒
        LocalDateTime now = LocalDateTime.now();
        System.out.println(now);

格式化输出

        //格式化输出  SSS 代表毫秒  格式化输出DateTimeFormatter的格式化语句必须精确到秒
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy年MM月dd号 HH:mm:ss:SSS E");
        System.out.println(now.format(dtf));

指定LocalDateTime对象的时间点

       //指定时间点
        LocalDateTime of = LocalDateTime.of(2021, 1, 26, 7, 44);//LocalDateTime的参数必须精确到分
        System.out.println(of);

字符串转换为LocalDateTime

利用DateTimeFormatter来转换

        //字符串转为日期 样式必须和字符串匹配不能有多余符号
        String date = "20210126";
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMdd");
        LocalDate parse = LocalDate.parse(date,dtf);
        System.out.println(parse);

LocalDateTime的年月日获取

        //时间值获取
        LocalDateTime now = LocalDateTime.now();
        System.out.println(now.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.CHINA));//获取该日本周星期几
        System.out.println(now.getDayOfMonth());//该日本月第几天
        System.out.println(now.getDayOfYear());//该日本年第几天
        System.out.println(now.getHour());//第几个小时
        System.out.println(now.getMonth().getDisplayName(TextStyle.FULL,Locale.CHINA));//第几个月,输出语言为中文
        System.out.println(now.getMinute());//第几分钟
        System.out.println(now.getYear());//获取年份
        System.out.println(now.getSecond());//获取第几秒

LocalDateTime和 LocalDate LocalTime 三者相互转换

        //LocalDateTime 和 LocalDate LocalTime 三者相互转换
        LocalDateTime now = LocalDateTime.now();
        LocalDate localDate = now.toLocalDate();//
        System.out.println(localDate);
        LocalTime localTime = now.toLocalTime();
        System.out.println(localTime);
        now = localDate.atTime(10, 5, 0);
        now = localTime.atDate(localDate);

Date转换为LocalDateTime

        //Date 转变成 LocalDateTime
        Date date = new Date();
        Instant instant = date.toInstant();
        ZoneId zoneId = ZoneId.systemDefault();
        //转变为LocalDateTime
        LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();
        //转变为LocalDate
        LocalDate localDate = instant.atZone(zoneId).toLocalDate();
        //转变为LocalTime
        LocalTime localTime = instant.atZone(zoneId).toLocalTime();
        //转毫秒数
        System.out.println(instant.toEpochMilli());

        // ZonedDateTime 带有时区的  比起Localdatetime 多了个时区
        ZonedDateTime now4 = ZonedDateTime.now();
        System.out.println(now4);//2021-01-26T14:49:27.174+08:00[Asia/Shanghai]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值