JAVA8新特性随笔
Instant:瞬时实例
LocalDate:本地日期,不包含具体时间。例如:2014-01-14可以用来记录生日、纪念日、加盟日等。
LocalTime:本地时间,不包含日期
LocalDateTime:组合了日期和时间,但不包含时差和时区信息
ZonedDateTime:最完整的日期时间,包含时区和相对UTC或格林威治的时差
日期类和时间类
- 获取当前时间:
LocalDateTime.now(); - 日期格式化::
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss a")); - 获取时间戳:
Instant.now()
(Date.from(Instant)将Instant转换成java.util.Date,Date.toInstant()则是将Date类转换成Instant类。) - LocalDateTime转String:
LocalDateTime.parse(str,dateTimeFormatter);String转LocalDateTime:localDateTime.format(dateTimeFormatter); - Date转LocalDateTime:
LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault()); - LocalDateTime转Date:
Date date = Date.from(LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant()); - 前端传过来的日期字符串怎么转换并放到数据库
LocalDate localDate = LocalDate.now();
System.out.println("LocalDate.now():"+localDate);
System.out.println("localDate.getYear():"+localDate.getYear());
System.out.println("localDate.getMonth():"+localDate.getMonth());
System.out.println("localDate.getMonthValue():"+localDate.getMonthValue());
System.out.println("localDate.getDayOfMonth():"+localDate.getDayOfMonth());
System.out.println("localDate.getDayOfWeek():"+localDate.getDayOfWeek());
System.out.println("localDate.getDayOfWeek().getValue():"+localDate.getDayOfWeek().getValue());
LocalTime localTime = LocalTime.now();
System.out.println("当前时间LocalTime.now(): " + localTime);
System.out.println("当前时间+1小时 localTime.plusHours(1): " + localTime.plusHours(1));
Clock clock = Clock.systemUTC();
Clock clock2 = Clock.systemDefaultZone();
System.out.println("Clock : " + clock.millis());
System.out.println("clock2 : " + clock2.millis());
System.out.println("=== 获取当前的时间戳 ===============================================");
Instant timestamp = Instant.now();
System.out.println("获取当前的时间戳: "+timestamp);
System.out.println("=== 格式化日期 ===============================================");
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss a");
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println(" LocalDateTime.now(): "+localDateTime);
System.out.println(" 格式化后的日期:"+localDateTime.format(format));
System.out.println("=== 检查生日等周期性事件 ===============================================");
LocalDate dateOfBirth = LocalDate.of(2019, 7, 25);
MonthDay birthday = MonthDay.of(dateOfBirth.getMonth(), dateOfBirth.getDayOfMonth());
MonthDay currentMonthDay = MonthDay.from(localDate);
if(currentMonthDay.equals(birthday)){
System.out.println(" Many Many happy returns of the day !!");
}else{
System.out.println(" Sorry, today is not your birthday");
}
JAVA8新特性随笔的更多相关文章
- java8新特性——Lambda表达式
上文中简单介绍了一下java8得一些新特性,与优点,也是为本次学习java8新特性制定一个学习的方向,后面几篇会根据上文中得新特性一一展开学习.本文就从java8新特性中比较重要的Lambda表达式开 ...
- java8新特性全面解析
在Java Code Geeks上有大量的关于Java 8 的教程了,像玩转Java 8--lambda与并发,Java 8 Date Time API 教程: LocalDateTime和在Java ...
- Java8新特性
Java8新特性 Java8主要的新特性涵盖:函数式接口.Lambda 表达式.集合的流式操作.注解的更新.安全性的增强.IO\NIO 的改进.完善的全球化功能等. 1.函数式接口 Java 8 引入 ...
- Java系列 - 用Java8新特性进行Java开发太爽了
本人博客文章网址:https://www.peretang.com/using-java8s-new-features-to-coding-is-awesome/ 前言 从开始写博客到现在已经过去3个 ...
- Java8 新特性之Stream----java.util.stream
这个包主要提供元素的streams函数操作,比如对collections的map,reduce. 例如: int sum = widgets.stream() .filter(b -> b.ge ...
- 这可能是史上最好的 Java8 新特性 Stream 流教程
本文翻译自 https://winterbe.com/posts/2014/07/31/java8-stream-tutorial-examples/ 作者: @Winterbe 欢迎关注个人微信公众 ...
- Java8新特性之二:方法引用
上一节介绍了Java8新特性中的Lambda表达式,本小节继续讲解Java8的新特性之二:方法引用.方法引用其实也离不开Lambda表达式. 1.方法引用的使用场景 我们用Lambda表达式来实现匿名 ...
- Java8新特性(一)_interface中的static方法和default方法
什么要单独写个Java8新特性,一个原因是我目前所在的公司用的是jdk8,并且框架中用了大量的Java8的新特性,如上篇文章写到的stream方法进行过滤map集合.stream方法就是接口Colle ...
- Java8 新特性 | 如何风骚走位防止空指针异常
文章整理翻译自 https://winterbe.com/posts/2015/03/15/avoid-null-checks-in-java/ 文章首发于个人网站: https://www.exce ...
随机推荐
- 客户端配置代理服务实现yum上外网
vi /etc/profile http_proxy=http://172.20.188.193:3128/https_proxy=https://172.20.188.193:3128/expor ...
- 如何修改layer-layui中的confirm
需求: 改成 背景: 这个confirm是layui中的layer弹出框,要想修改这个弹出框的内容岂不是要去修改源码?当我在源码里扒拉半天梳理好了逻辑之后,突然意识到,其实我本可以不必这么麻烦的,直接 ...
- 生成要发送到社区的内核补丁时如何指定发布的版本号(v2,v3...)?
1. 生成一个补丁 git format-patch --subject-prefix=v2 -1 那么生成的patch文件就会有如下类似的信息: Subject: [v2] your descrip ...
- ASP.NET MVC 3 Razor 多国语言参考解决方案
http://www.cnblogs.com/think8848/archive/2011/03/20/1989376.html
- 一百三十三:CMS系统之版块管理一
把模型创建到公共的models里面 class BoardModel(db.Model): __tablename__ = 'board' id = db.Column(db.Integer, pri ...
- java nio 缓冲区读写数据(图形详解)
Position 您可以回想一下,缓冲区实际上就是美化了的数组.在从通道读取时,您将所读取的数据放到底层的数组中. position 变量跟踪已经写了多少数据.更准确地说,它指定了下一个字节将放到数组 ...
- web布局收集整理
/*样式文件*/ .fgw-right-p{ height: 38px; line-height: 38px; margin-bottom: 20px; padding-left: 24px; spa ...
- 解决zabbix中文乱码问题
进入Windows系统控制面板-->外观和个性化-->字体(选择一个字体文件simsun.ttc复制)进入zabbix的web服务器[root@test-zabbix]# cd ~/zab ...
- mysql/mariadb数据库在插入表数据时,ID竟然成奇数增加了?看完下面内容就知道怎么处理了。
今天突然被问到一个问题,mysql数据库插入表数据时,设置了ID自增,但是插入数据后,ID却呈奇数增加,不是123456类型,而是13579形式,突然有点懵,研究了一会,发现是auto_increme ...
- Hadoop学习笔记之二 文件操作
HDFS分布式文件系统:优点:支持超大文件存储.流式访问.一次写入多次读取.缺点:不适应大量小文件.不适应低时延的数据访问.不适应多用户访问任意修改文件. 1.hadoop用于大数据处理,在数据量较小 ...