Java 1.8 日期处理更方便 Time 包的LocalDateTime、LocalDate、ZonedDateTime 和Date

简介: 看到java 1.8有处理日期理方便的方法,从此可以告别以前那种获取日期的年、月、日的复杂写法这时记录一下,方便后面查询使用
    
    //获取当前日期,默认当前时区的
    LocalDateTime localDateTime = LocalDateTime.now();
    System.out.println(localDateTime);
    //按照固定格式转成String
    DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    String dateTime = localDateTime.format(format);
    System.out.println(dateTime);
    //获取年、月、日、小时、分、秒都变成轻松、好记多了
    String dateGet = "Year : " + localDateTime.getYear() + ",month: " + localDateTime.getMonthValue() + 
            ",Day: " + localDateTime.getDayOfMonth() + " hour: " + localDateTime.getHour() +
            ",minute: " + localDateTime.getMinute() + ",second: " + localDateTime.getSecond();
    System.out.println(dateGet);
    //直接转LocalDate,没有时、分、秒
    LocalDate localDate1 = localDateTime.toLocalDate();
    System.out.println(localDate1);
    //LocalDate转String
    String dateformat = localDate1.format(DateTimeFormatter.ofPattern("yyyy/MM/dd"));
    System.out.println(dateformat);
    //LocalDateTime转成ZonedDateTime
    ZoneId zoneId = ZoneId.systemDefault();
    ZonedDateTime zoneDateTime = localDateTime.atZone(zoneId);
    //再转成 java.util.Date()
    Date ndate = Date.from(zoneDateTime.toInstant());
    System.out.println("change to date:");
    System.out.println(ndate);
    //直接获取当前LocalDate
    LocalDate localDate = LocalDate.now();
    System.out.println(localDate);
    
    //直接获取当前
    ZonedDateTime.now();
    Date nowDate = new Date();
    System.out.println(nowDate);
相关文章
|
1月前
|
Java API
Java的日期类都是怎么用的
【10月更文挑战第1天】本文介绍了 Java 中处理日期和时间的三个主要类:`java.util.Date`、`java.util.Calendar` 和 `java.time` 包下的新 API。`Date` 类用于表示精确到毫秒的瞬间,可通过时间戳创建或获取当前日期;`Calendar` 抽象类提供丰富的日期操作方法,如获取年月日及时区转换;`java.time` 包中的 `LocalDate`、`LocalTime`、`LocalDateTime` 和 `ZonedDateTime` 等类则提供了更为现代和灵活的日期时间处理方式,支持时区和复杂的时间计算。
38 14
|
2月前
|
Java 数据库
java小工具util系列1:日期和字符串转换工具
java小工具util系列1:日期和字符串转换工具
50 3
|
2月前
|
安全 Java API
时间日期API(Date,SimpleDateFormat,Calendar)+java8新增日期API (LocalTime,LocalDate,LocalDateTime)
这篇文章介绍了Java中处理日期和时间的API,包括旧的日期API(Date、SimpleDateFormat、Calendar)和Java 8引入的新日期API(LocalTime、LocalDate、LocalDateTime)。文章详细解释了这些类/接口的方法和用途,并通过代码示例展示了如何使用它们。此外,还讨论了新旧API的区别,新API的不可变性和线程安全性,以及它们提供的操作日期时间的灵活性和简洁性。
|
1月前
|
分布式计算 Java 大数据
大数据-122 - Flink Time Watermark Java代码测试实现Tumbling Window
大数据-122 - Flink Time Watermark Java代码测试实现Tumbling Window
31 0
|
1月前
|
Java
Java的Date类使用
Java的Date类使用
19 0
|
安全 Java API
java 8 日期操作,真香
java 8 日期操作,真香
124 0
|
Java 数据安全/隐私保护
java之正则表达式、日期操作
正则表达式和日期操作 正则表达式简介   正则表达式就是使用一系列预定义的特殊字符来描述一个字符串的格式规则,然后使用该格式规则匹配某个字符串是否符合格式要求。   作用:比如注册邮箱,邮箱有用户名和密码,一般会对其限制长度,这个限制长度的事情就是正则表达式做的 规则 .”和”\” “.”点儿,在正则表达式中表示任意一个字符。
3187 0
|
Java
JAVA 日期操作
1.用java.util.Calender来实现   Calendar calendar=Calendar.getInstance(); calendar.setTime(new Date()); System.
812 0
|
8天前
|
安全 Java 测试技术
Java并行流陷阱:为什么指定线程池可能是个坏主意
本文探讨了Java并行流的使用陷阱,尤其是指定线程池的问题。文章分析了并行流的设计思想,指出了指定线程池的弊端,并提供了使用CompletableFuture等替代方案。同时,介绍了Parallel Collector库在处理阻塞任务时的优势和特点。