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
//java8 时间API的更新
Clock clock=Clock.systemUTC();
System.out.println(clock.millis());
//时间线 Instant
Instant instant =Instant.now();
Thread.sleep(1000);
Instant end = Instant.now();
//时间间隔 duration
Duration duration=Duration.between(instant, end);
System.out.println("this time :"+duration.toMillis());
//本地日期 没有时分秒的
LocalDate localDate= LocalDate.now();
//TemporalAjusters 时间运算
LocalDate localDate1= localDate.with(TemporalAdjusters.dayOfWeekInMonth(2, DayOfWeek.FRIDAY));
System.out.println(localDate1);
//自定义日期矫正器 利用plus*方法可以很方便对时间进行运行 TemporalAdjuster Next_WorkDay = w -> {//自定义校正器
LocalDate resultDate = (LocalDate) w;
do {
resultDate = resultDate.plusMonths(1).plusDays(-1);
} while (resultDate.getDayOfWeek().getValue() >= 6);
return resultDate;
}; LocalDate localDate2 =localDate1.with(Next_WorkDay);
System.out.println("下个月的时间"+localDate2);
//时间格式,关键是本地时间!!用有时分秒的
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println("time type:"+DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM).format(
localDateTime));// 语言相关格式 时间格式转换也封装比较好了 System.out.println("time type:"+DateTimeFormatter.ofPattern("yyyy/mm/dd hh").format(
localDateTime));
java8 中的时间和数据的变化的更多相关文章
- java8中的时间处理
java8中关于时间的处理整理 package com.xb.utils; import java.time.*; import java.time.format.DateTimeFormatter; ...
- Java8 中的时间和日期 API
1. 日期和时间概述 LocalDate,LocalTime,LocalDateTime类的实例是不可变的对象,分别表示使用 ISO-8601 日历系统 的日期,时间,日期和时间;它们提供了简单的日期 ...
- Java8新特性时间日期库DateTime API及示例
Java8新特性的功能已经更新了不少篇幅了,今天重点讲解时间日期库中DateTime相关处理.同样的,如果你现在依旧在项目中使用传统Date.Calendar和SimpleDateFormat等API ...
- Java8中的LocalDateTime工具类
网上搜索了半天都没有找到Java8的LocalDateTime的工具类,只好自己写了一个,常用功能基本都有.还在用Date的Java同道该换换了. 个人项目地址:https://github.com/ ...
- Vue中Object和Array数据变化侦测原理
在学完Vue.js框架,完成了一个SPA项目后,一直想抽时间找本讲解Vue.js内部实现原理的书来看看,经过多方打听之后,我最后选择了<深入浅出Vue.js>这本书.然而惭愧的是,这本书已 ...
- C标准函数库中获取时间与日期、对时间与日期数据操作及格式化
表示时间的三种数据类型[编辑] 日历时间(calendar time),是从一个标准时间点(epoch)到现在的时间经过的秒数,不包括插入闰秒对时间的调整.开始计时的标准时间点,各种编译器一般使用19 ...
- java8中的接口与时间操作
java8中接口可以有默认方法(用default修饰,可以有多个)和静态方法了. public interface Tran { default public String getName() { r ...
- 在数据库中(Oracle),根据时间查询数据: to_date()和to_char()函数
1. to_date() 函数 1.1 格式 to_date("要转换的字符串","转换的格式") //两个参数的格式必须匹配,否则会报错.即按照第二个参数 ...
- Java8中时间日期库的20个常用使用示例
除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务示例来学习如何使用Java 8的这套API.Java对日期, ...
随机推荐
- Socket网络编程--FTP客户端
Socket网络编程--FTP客户端(1)(Windows) 已经好久没有写过博客进行分享了.具体原因,在以后说. 这几天在了解FTP协议,准备任务是写一个FTP客户端程序.直接上干货了. 0.了解F ...
- C# 利用反射动态将字符串转换成属性对应的类型值
/// <summary> /// 为指定对象分配参数 /// </summary> /// <typeparam name="T">对象类型& ...
- kill 根据PID终止进程
根据PID终止进程 kill [option] PID-list kill 通过向一个或多个进程发送信号来终止进程.除超级用户外,只有进程的所有者才可以对进程执行kill 参数 PID-list为ki ...
- Keepalived+Redis高可用部署
1 Redis简介及安装 Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案. Redis从它的许多竞争继承来的三个主要特点: Redis数 ...
- PHP中错误处理集合
PHP错误处理 错误的分类 通常分3种: 语法错误: 程序运行之前,都要先检查语法.如果语法有错误,就会立即报错,并且不会去执行程序. 运行时错误: 就是在程序语法检查通过后,,开始运行程序并在此过程 ...
- To IOC,代码结构演变的随想
代码结构演变 项目开始阶段 需求: 提供一个系统,可以在新春佳节之际以邮件的形式给员工发送新春祝福. 开发人员: 张三 版本一 string msg = "新年快乐!过节费5000.&quo ...
- 纯CSS下拉导航菜单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="h ...
- dede使用方法---如何调用指定栏目
使用dede的时候,我们需要调用某一个指定的栏目,这个时候我们该如何使用标签呢?? 真相就是----{dede:type typeid='27'}*******{/dede:type} 完整的标签代码 ...
- 做哪些优化,才能让 UITabelView 更顺滑?(转)
原文出处: Alexander Orlov 译文出处:南峰子(@南峰子_老驴) 转载自:ios.jobbole.com/83731/ 我已经在iOS这个最好的移动平台上有几年的开发经验了.在这期间 ...
- 【C++实现python字符串函数库】二:字符串匹配函数startswith与endswith
[C++实现python字符串函数库]字符串匹配函数startswith与endswith 这两个函数用于匹配字符串的开头或末尾,判断是否包含另一个字符串,它们返回bool值.startswith() ...