栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JDK8函数式编程进阶学习(3):JDK8时间API学习

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JDK8函数式编程进阶学习(3):JDK8时间API学习

对应的gitee地址java8-lambda-stream
直接上代码:

package com.xiongzai.lambda;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.Date;


public class LocalDateTimeApi {
    private static final Logger logger = LoggerFactory.getLogger(LocalDateTimeApi.class);
    
    public static void main(String[] args) {
        
        conversion();
        
        compareTo();
        
        formatt();
    }
    
    
    private static void formatt() {
        
        
        LocalDate localDate = LocalDate.now();
        String format1 = localDate.format(DateTimeFormatter.BASIC_ISO_DATE);      
        String format2 = localDate.format(DateTimeFormatter.ISO_DATE);            
        logger.info(new StringBuilder().append("localDate --> String:(yyyyMMdd)->").append(format1).toString());
        logger.info(new StringBuilder().append("localDate --> String:(yyyy-MM-dd)->").append(format2).toString());
        
        
        
        LocalTime localTime = LocalTime.now();
        String format3 = localTime.format(DateTimeFormatter.ISO_TIME);            
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("hh:mm:ss");
        String format4 = localTime.format(formatter);
        logger.info(new StringBuilder().append("LocalTime --> String(ISO_TIME)->").append(format3).toString());
        logger.info(new StringBuilder().append("LocalTime --> String(hh:mm:ss)->").append(format4).toString());
        
        
        LocalDateTime localDateTime = LocalDateTime.now();
        DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
        String format5 = localDateTime.format(formatter2);
        logger.info(new StringBuilder().append("LocalDateTime --> String(yyyy-MM-dd hh:mm:ss)->").append(format5).toString());
        
        
        
        LocalDate localDate1 = LocalDate.parse("2021-10-22");
        DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
        String format = localDate1.format(pattern);
        logger.info(new StringBuilder().append("2021-10-22 --> yyyy年MM月dd日 :->").append(format).toString());
        
        
        LocalTime localTime2 = LocalTime.parse("17:43:53");
        logger.info(new StringBuilder().append("String --> LocalTime(17:43:53)->").append(localTime2).toString());
        
        
        DateTimeFormatter formatter3 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss"); 
        DateTimeFormatter formatter4 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); 
        LocalDate localDate3 = LocalDate.parse("2021-10-22 05:43:53", formatter3);
        LocalDate localDate4 = LocalDate.parse("2021-10-22 17:43:53", formatter4);
        logger.info(new StringBuilder().append("String --> LocalDateTime(12小时)->").append(localDate3).toString());
        logger.info(new StringBuilder().append("String --> LocalDateTime(24小时)->").append(localDate4).toString());
        
        Date startDt = new Date();
        
        String format6 = startDt.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().format(DateTimeFormatter.ISO_DATE_TIME);
        
        String format7 = startDt.toInstant().atZone(ZoneId.systemDefault()).toLocalDate().format(DateTimeFormatter.BASIC_ISO_DATE);
        
        String format8 = startDt.toInstant().atZone(ZoneOffset.ofHours(8)).toLocalDate().format(DateTimeFormatter.BASIC_ISO_DATE);
        logger.info(new StringBuilder().append("Date --> LocalDateTime(yyyy-MM-dd HH:mm:ss)->").append(format6).toString());
        logger.info(new StringBuilder().append("Date --> LocalDate(yyyyMMdd)->").append(format7).toString());
        logger.info(new StringBuilder().append("Date --> LocalDate(yyyyMMdd)->").append(format8).toString());
    }
    
    
    private static void compareTo() {
        
        LocalDateTime now = LocalDateTime.now();
        
        logger.info(new StringBuilder().append("LocalDateTime.now()->").append(now).toString());
        
        
        LocalDateTime nowAtTomorrow = now.plusDays(1);
        
        logger.info(new StringBuilder().append("LocalDateTime.now().plusDays(1)->").append(now).toString());
        
        
        
        
        
        int i = now.compareTo(nowAtTomorrow);
        boolean flat = nowAtTomorrow.isAfter(now);
        logger.info(new StringBuilder().append("今天>明天:->").append(i).toString());
        logger.info(new StringBuilder().append("今天>明天:->").append(flat).toString());
        
        
        
        i = nowAtTomorrow.compareTo(now);
        flat = now.isBefore(nowAtTomorrow);
        logger.info(new StringBuilder().append("明天>今天:->").append(i).toString());
        logger.info(new StringBuilder().append("明天>今天:->").append(flat).toString());
        
        
        
        i = now.compareTo(now);
        flat = now.isEqual(now);
        logger.info(new StringBuilder().append("今天==今天:->").append(i).toString());
        logger.info(new StringBuilder().append("今天==今天:->").append(flat).toString());
    }
    
    
    private static void conversion() {
        
        LocalDate nowLocalDate = LocalDate.now();
        Date date = Date.from(nowLocalDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
        logger.info(new StringBuilder().append("LocalDate->").append(nowLocalDate).toString());
        logger.info(new StringBuilder().append("Date->").append(date).toString());
        
        
        LocalDateTime localDateTime = LocalDateTime.now();
        Date date2 = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
        logger.info(new StringBuilder().append("LocalDateTime->").append(localDateTime).toString());
        logger.info(new StringBuilder().append("Date->").append(date2).toString());
        
        
        Date date3 = new Date();
        LocalDate localDate = date3.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
        LocalDateTime localDateTime3 = date3.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
        logger.info(new StringBuilder().append("Date->").append(date3).toString());
        logger.info(new StringBuilder().append("LocalDate->").append(localDate).toString());
        logger.info(new StringBuilder().append("LocalDateTime->").append(localDateTime3).toString());
        
        
        String day = "2021-10-22";
        Date date4 = Date.from(LocalDate.parse(day.replaceAll("/", "-")).atStartOfDay(ZoneId.systemDefault()).toInstant());
        logger.info(new StringBuilder().append("String 转 LocalDate 转 Date->").append(date4).toString());
        
        
        Date date5 = new Date();
        String taskStartDt = date5.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().format(DateTimeFormatter.ISO_DATE);
        logger.info(new StringBuilder().append("Date 转 LocalDate 转 String(yyyy-MM-dd)->").append(taskStartDt).toString());
        
        
        LocalDate localDate6 = LocalDate.now();
        long longtimestamp = localDate6.atStartOfDay(ZoneId.systemDefault()).toInstant().toEpochMilli();
        logger.info(new StringBuilder().append("LocalDate转时间戳->").append(longtimestamp).toString());
        
        
        
        LocalDateTime localDateTime7 = LocalDateTime.now();
        longtimestamp = localDateTime7.toInstant(ZoneOffset.of("+8")).toEpochMilli();
        logger.info(new StringBuilder().append("LocalDateTime转时间戳->").append(longtimestamp).toString());
        
        
        longtimestamp = System.currentTimeMillis();
        LocalDate localDate8 = Instant.ofEpochMilli(longtimestamp).atZone(ZoneId.systemDefault()).toLocalDate();
        LocalDateTime localDateTime8 = Instant.ofEpochMilli(longtimestamp).atZone(ZoneId.systemDefault()).toLocalDateTime();
        logger.info(new StringBuilder().append("时间戳转LocalDate->").append(localDate8).toString());
        logger.info(new StringBuilder().append("时间戳转LocalDateTime->").append(localDateTime8).toString());
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/531372.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号