Java 8日期之间的转化 String 、LocalDateTime 、Instant 、ZonedDateTime

一、时间之间转化

1、第一行转换

2、第二行输出

        /**
         *日期转化
         * String 、LocalDateTime 、Instant 、ZonedDateTime
         */
        String localDateTimeToString = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"));
        System.out.println("localDateTimeToString====>" + localDateTimeToString);

        Timestamp localDateTimeToTimestap = Timestamp.valueOf(LocalDateTime.now());
        System.out.println("localDateTimeToTimestap==>" + localDateTimeToTimestap);

        Instant localDateTimeToInstant = LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant();
        System.out.println("localDateTimeToInstant=====>" + localDateTimeToInstant);

        LocalDateTime instantToLocalDateTime = LocalDateTime.ofInstant(Instant.now(), ZoneId.systemDefault());
        System.out.println("instantToLocalDateTime===>" + instantToLocalDateTime);

        System.out.println("StingToLocalDateTime" + LocalDateTime.parse("2018-03-11 15:30:11", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));

        Timestamp ts = Timestamp.valueOf(LocalDateTime.now());
        Instant instant = ts.toInstant();
        System.out.println("timestampToInstant======>" + instant);

        ZonedDateTime zdt = ZonedDateTime.ofInstant(instant, ZoneId.of("America/Montreal"));
        System.out.println("instantToZonedDateTime=======>" + zdt);

        ZonedDateTime zdtKolkata = zdt.withZoneSameInstant(ZoneId.of("Asia/Kolkata"));
        System.out.println("Asia/Kolkata======>" + zdtKolkata);
        System.out.println("Etc/UTC=====>" + zdt.withZoneSameInstant(ZoneId.of("Etc/UTC")));

3、时区 、Period 、日期格式化

        // 获取时区
        System.out.println(ZoneId.getAvailableZoneIds().size());
        ZoneId.getAvailableZoneIds().forEach(System.out::println);

        // period
        LocalDate localDate = LocalDate.now();
        LocalDate localDate2 = LocalDate.of(2016, 1, 5);
        Period period = Period.between(localDate2, localDate);
        System.out.println("计算日起间隔====》" + period.getYears() + "年" + period.getMonths() + "月" + period.getDays() + "日");

        TimeZone tz = TimeZone.getTimeZone("UTC");
        System.out.println(tz);
        // DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'"); // Quoted "Z" to indicate UTC, no timezone offset

        DateFormat df = new SimpleDateFormat("YYYY-MM-DD'T'HH:mm:ss'Z'");
        df.setTimeZone(tz);
        String nowAsISO = df.format(new Date());
        System.out.println(LocalDateTime.now());
        System.out.println(nowAsISO);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值