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对日期, ...
随机推荐
- [poj 3537]Crosses and Crosses(博弈论)
题目:http://poj.org/problem?id=3537 题意:给你n个格子,两个人依次在n个格子的任意空位置画"X",谁如果画了一个后,3个X连在了一起,那么那个人就获 ...
- NLPIR分词工具的使用(java环境下)
一.NLPIR是什么? NLPIR(汉语分词系统)由中科大张华平博士团队开发,主要功能包括:中文分词,词性标注,命名实体识别,用户词典功能,详情见官网:http://ictclas.nlpir.org ...
- java lambda表达式学习笔记
lambda是函数式编程(FP,functional program),在java8中引入,而C#很早之前就有了.在java中lambda表达式是'->',在C#中是‘=>’. 杜甫说:射 ...
- MyEclipse下Maven的安装配置
Maven常用命令: •mvn archetype:generate :创建 Maven 项目 •mvn compile :编译源代码 •mvn test-compile :编译测试代码 •mvn t ...
- 【BZOJ 3809】Gty的二逼妹子序列
这个莫队如果用线段树来维护的话,复杂度是$O(n\sqrt{n}logn+qlogn)$ 很明显,可以看出来莫队每次$O(1)$的移动因为套上了线段树变成了$O(logn)$,但莫队移动的总数是非常大 ...
- 网站(logo,主机)
logo生成网站 http://www.uugai.com/ 花生壳 http://hsk.oray.com/download/
- Python 序列通用操作介绍
上一篇:python字符串基础一 下一篇:Python 列表操作简介 序列概览 Python包含6种内置的序列:列表.元组.字符串 .Unicode字符串.buffer对象.xrange对象.在序列中 ...
- android开发之自定义组件
android开发之自定义组件 一:自定义组件: 我认为,自定义组件就是android给我们提供的的一个空白的可以编辑的图片,它帮助我们实现的我们想要的界面,也就是通过自定义组件我们可以把我们要登入的 ...
- css-文本超出后显示省略号
1.如果是单行文本: overflow: hidden; text-overflow: ellipsis; white-space: nowrap; 2.如果是多行文本,将文本框高度设为文字行高的倍数 ...
- codeforces 723C : Polycarp at the Radio
Description Polycarp is a music editor at the radio station. He received a playlist for tomorrow, th ...