java8 中的时间和数据的变化
java8除了lambda表达式之外还对时间和数组这两块常用API做想应调整,
Stream 有几个常用函数:
store 排序 (a,b)-> a.compareTo(b) 排出来的结果是正序,从小到大 如果(a,b)->b.compareTo(a) 排出来的结果是从大到小
filter 拦截,过滤.根据条件过滤
forEeach 迭代每个元素
map 变更或者替换
limit 长度或者符合数量的限制
skip 跳到某个开始点,skip和limit组合可以制造分页的效果
sum ,count是常规聚合参数
distinct 去除重复数据,这里的去重比较是两个对象是否相等 object.equal(object).不能实现根据某个字段属性进行去重.当然单纯根据属性去重也不符合正常逻辑
ps:这些组合所需循环是一次的,很高效
java8中日期时间的API
1 //java8 时间API的更新 2 Clock clock=Clock.systemUTC(); 3 System.out.println(clock.millis()); 4 //时间线 Instant 5 Instant instant =Instant.now(); 6 Thread.sleep(1000); 7 Instant end = Instant.now(); 8 //时间间隔 duration 9 Duration duration=Duration.between(instant, end); 10 System.out.println("this time :"+duration.toMillis()); 11 //本地日期 没有时分秒的 12 LocalDate localDate= LocalDate.now(); //TemporalAjusters 时间运算 13 LocalDate localDate1= localDate.with(TemporalAdjusters.dayOfWeekInMonth(2, DayOfWeek.FRIDAY)); 14 System.out.println(localDate1); 15 //自定义日期矫正器 利用plus*方法可以很方便对时间进行运行 16 17 TemporalAdjuster Next_WorkDay = w -> {//自定义校正器 18 LocalDate resultDate = (LocalDate) w; 19 do { 20 resultDate = resultDate.plusMonths(1).plusDays(-1); 21 } while (resultDate.getDayOfWeek().getValue() >= 6); 22 return resultDate; 23 }; 24 25 LocalDate localDate2 =localDate1.with(Next_WorkDay); 26 System.out.println("下个月的时间"+localDate2); 27 //时间格式,关键是本地时间!!用有时分秒的 28 LocalDateTime localDateTime = LocalDateTime.now(); 29 System.out.println("time type:"+DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM).format( 30 localDateTime));// 语言相关格式 时间格式转换也封装比较好了 31 32 System.out.println("time type:"+DateTimeFormatter.ofPattern("yyyy/mm/dd hh").format( 33 localDateTime));
转载于:https://www.cnblogs.com/zhongzheng123/p/5255065.html
java8 中的时间和数据的变化相关推荐
- java8中计算时间日期间隔几种常见方法介绍
在平时的开发工作中免不了会进行时间日期间隔计算,下面简单介绍几个在java8中用于计算时间日期间隔的类和方法: 1.ChronoUnit类 使用ChronoUnit类可以快速方便的计算出两个时间日期之 ...
- 前端笔记-在Element UI中表格如何根据数据动态变化显示
前言 实际上我需要的功能类似于前端工程中的字典.由于在前端的学习自己写代码的过程中可能不会对一个项目工程化的如此的彻底,所以这里给出了一种解决方法. 需求 对于Element UI里的表格,如果假设传 ...
- 数据库之取出表中最新时间的数据
以下内容仅做备忘 假设有以下表格[FM_ALARM] RES_ID : 资源的唯一标识 OCCUR_TIME : 发生时间(毫秒时间戳) SEVERITY : 告警级别 数据会实时变更,我要取出所有数 ...
- 【java8中的时间操作】java8中获取月的最后一天或者总天数,JDK8 LocalDate AP
缘起 前面有个需求,获取当前月和前5个月的最后一天,网上找了一下基本都是jdk7以前的,但实际上jdk8中有更简单的获取方式. public static void main(String[] arg ...
- 面试官:简单说说Java8中的HashMap到底有啥变化?
作者:废物大师兄 https://cnblogs.com/cjsblog/p/8207211.html JDK1.8中的HashMap实现跟JDK1.7中的实现有很大差别.下面分析JDK1.8中的实现 ...
- java8中, 格林威治时间、世界时、祖鲁时间、GMT、UTC、跨时区、夏令时需要用什么类表示呢
时间它总是偷偷溜走
- java8中的时间处理6 - 格式化
下面是格式化和解析的粒子: LocalDate date = LocalDate.now();System.out.println(date);System.out.println(date.form ...
- java8 时间加一秒_Java8中对时间的处理
Java8中对时间的处理主要是LocalDate.LocalTime.LocalDateTime这几个类实现,直接看下面的测试代码,注释很详细. @ java8时间处理测试 /** * java8时间 ...
- 一文搞懂Java8中表示当前的时间类Date、Instant、LocalDateTime、ZonedDateTime
1. 概述 Java8中的时间类主要有:Date.Instant.LocalDateTime(LocalDate.LocalTime).ZonedDateTime,除去Date,java.time包下 ...
- Java 中验证时间格式的 4 种方法
大家好,今天咱们来讲一下,Java 中如何检查一个字符串是否是合法的日期格式? 为什么要检查时间格式? 后端接口在接收数据的时候,都需要进行检查.检查全部通过后,才能够执行业务逻辑.对于时间格式,我们 ...
最新文章
- 使用Pygame制作微信打飞机游戏PC版
- boost::leaf::try_handle_some用法的测试程序
- 168.167Excle表列整数字符和字符整数的互相转化
- WinCE内核裁减(中文字体)及字库和内核的分离
- 案例 github_2019年12月Github上最热门的Java开源项目,速来围观!
- 为什么很多人在自媒体转不到钱?
- Linux系统管理技术(3)
- 布局的几种方式(静态布局、自适应布局、流式布局、响应式布局、弹性布局)...
- 实现鼠标放上高亮显示,鼠标移出显示原来的颜色
- L2TP over IPSEC配置实例
- 2021-09-23各个国家简称以及收手机区号
- Java连接db2数据库(常用数据库连接五)
- C++ 模板的显示具体化
- Ethyl 2-azidoacetate,637-81-0,叠氮乙酸乙酯MDL: MFCD00190177的分子量是129.117
- 全球及中国浆液阀行业市场深度分析及发展战略咨询报告2022-2028年
- 【Qt Quick】qml浮点数精度
- 我国地理信息系统产业发展前景
- tantela-2021-08-10
- u盘linux需要多大内存,linux下获取硬盘、内存、U盘大小及使用大小
- 猿如意中的【Wireshark】网络包分析工具详情介绍
热门文章
- 原生JavaScript实现异步校验详解
- 44. 扑克牌的顺子(C++版本)
- mybatis连接mysql url_MyBatis与JDBC连接数据库所使用的url之间的差异
- -bash: cd: /.ssh: 没有那个文件或目录
- python脚本第一行_python脚本第一行如何写
- android studio继承关系,Android Studio中查看类的继承关系
- mysql启动pid文件位置_msyql 启动报错 找不到pid 文件
- html空格暂停,关于audio标签暂停的问题
- React:AntDesign引入简介
- ajax显示dataframe,如何使用ajax在运行时显示shell脚本的输出