啦啦啦

package lime.java1_8.time;

import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.Date; /**
* @Author liangmy
* @Date 2018/7/16
*/
public class Localdatetime {
public static void main(String[] args) {
// 取当前日期:
LocalDate today = LocalDate.now();
System.out.println(today);
// 根据年月日取日期,12月就是12:
LocalDate crischristmas = LocalDate.of(2018, 07, 16);
System.out.println(crischristmas);
// 根据字符串取:
LocalDate endOfFeb = LocalDate.parse("2018-07-16");
System.out.println(endOfFeb);
// 取本月第1天:
LocalDate firstDayOfThisMonth = today.with(TemporalAdjusters.firstDayOfMonth());
System.out.println(firstDayOfThisMonth);
// 取本月第2天:
LocalDate secondDayOfThisMonth = today.withDayOfMonth(2);
System.out.println(secondDayOfThisMonth);
// 取本月最后一天,再也不用计算是28,29,30还是31:
LocalDate lastDayOfThisMonth = today.with(TemporalAdjusters.lastDayOfMonth());
System.out.println(lastDayOfThisMonth);
// 取下一天:
LocalDate firstDayOf2018 = lastDayOfThisMonth.plusDays(1);
System.out.println(firstDayOf2018);
// 取2018年1月第一个周一,这个计算用Calendar要死掉很多脑细胞:
LocalDate firstMondayOf2018 = today.withMonth(1).with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY));
System.out.println(firstMondayOf2018); //LocalTime包含毫秒:
LocalTime now = LocalTime.now();
System.out.println(now);
//清除毫秒数:
LocalTime nowWithNano0 = LocalTime.now().withNano(0);
System.out.println(nowWithNano0);
//构造时间:
LocalTime zeroHM = LocalTime.of(0,0);
System.out.println(zeroHM);
LocalTime zeroHMS = LocalTime.of(0, 0, 0);
System.out.println(zeroHMS);
LocalTime zeroHMSN = LocalTime.of(0, 0, 0, 0);
System.out.println(zeroHMSN);
LocalTime midHMStr = LocalTime.parse("12:00");
System.out.println(midHMStr);
LocalTime midHMSStr = LocalTime.parse("12:00:00");
System.out.println(midHMSStr); //创建一个LocatDateTime实例
LocalDateTime localDateTimeNow = LocalDateTime.now();
System.out.println(localDateTimeNow);
LocalDateTime localDateTimeOf = LocalDateTime.of(2018,1, 1, 00, 00, 00, 12);
System.out.println(localDateTimeOf); //Instant : 时间戳
//默认使用 UTC 时区
Instant insNow = Instant.now();
System.out.println(insNow); OffsetDateTime insUTC8 = insNow.atOffset(ZoneOffset.ofHours(8));
System.out.println(insUTC8); System.out.println(insNow.getNano()); // 获取 UTC时区1970年1月1日午夜时分 之后 5 秒的 时间戳
Instant ofEpochSecond = Instant.ofEpochSecond(5);
System.out.println(ofEpochSecond); //Duration:用于计算两个“时间”间隔
//Period:用于计算两个“日期”间隔 LocalTime startTime = LocalTime.now();
LocalTime endTime = startTime.plusHours(1).plusMinutes(2).plusSeconds(3).plusNanos(4);
Duration duration = Duration.between(startTime, endTime);
System.out.println(duration);
System.out.println(duration.getUnits());
System.out.println(duration.getSeconds());
System.out.println(duration.getNano()); LocalDate startDay = LocalDate.now();
LocalDate endDay = startDay.plusYears(1).plusMonths(2).plusDays(3).plusWeeks(4);
Period period = Period.between(startDay, endDay);
System.out.println(period);
System.out.println(period.getYears());
System.out.println(period.getMonths());
System.out.println(period.getDays());
System.out.println(period.getUnits());
System.out.println(period.getChronology()); //TemporalAdjuster :时间校正器 LocalDate with = today.with(TemporalAdjusters.next(DayOfWeek.MONDAY));
System.out.println(with); //DateTimeFormatter
//预定义的标准格式
//语言环境相关的格式
//自定义的格式
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss E");
String localDateTime = LocalDateTime.now().format(dateTimeFormatter);
System.out.println(localDateTime); //时区的处理
//ZonedDate、 ZonedTime、 ZonedDateTime
//其中每个时区都对应着 ID,地区ID都为 “{区域}/{城市}”的格式 Asia/Shanghai
//ZoneId:该类中包含了所有的时区信息
//getAvailableZoneIds() : 可以获取所有时区时区信息
//of(id) : 用指定的时区信息获取 ZoneId 对象
LocalDateTime zoneAsiaShanghai = LocalDateTime.now(ZoneId.of("Asia/Shanghai"));
System.out.println(zoneAsiaShanghai);
LocalDateTime zoneSystemDefault = LocalDateTime.now(ZoneId.systemDefault());
System.out.println(zoneSystemDefault); //from(Instant instant)
//toInstant() // Long - Instant
Instant instant = Instant.ofEpochMilli(System.currentTimeMillis());
System.out.println(instant); //Instant - Long
Long timestamp = Instant.now().toEpochMilli();
System.out.println(timestamp); // Date - LocalDateTime
LocalDateTime date2LocalDateTime = LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault());
System.out.println(date2LocalDateTime); // Date - LocalDate
LocalDate date2LocalDate = date2LocalDateTime.toLocalDate();
System.out.println(date2LocalDate); // Date - LocalTime
LocalTime date2LocalTime = date2LocalDateTime.toLocalTime();
System.out.println(date2LocalTime); // LocalDateTime - Date
Date localDateTime2Date = Date.from(date2LocalDateTime.toInstant(ZoneOffset.ofHours(8)));
System.out.println(localDateTime2Date); // LocalDate - Date
Date localDate2Date = Date.from(date2LocalDate.atStartOfDay().toInstant(ZoneOffset.ofHours(8)));
System.out.println(localDate2Date); // LocalTime - Date
Date localTime2Date = Date.from(LocalDateTime.of(LocalDate.now(), date2LocalTime).toInstant(ZoneOffset.ofHours(8)));
System.out.println(localTime2Date); }
}

啦啦啦

Java 8 时间日期的更多相关文章

  1. JAVA格式化时间日期

    JAVA格式化时间日期 import java.util.Date; import java.text.DateFormat; /** * 格式化时间类 * DateFormat.FULL = 0 * ...

  2. Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题【转】

    Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题 http://blog.didispace.com/Spring-Boot-And-Feign- ...

  3. java开源时间/日期库Joda-Time

    任何企业应用程序都需要处理时间问题.应用程序需要知道当前的时间点和下一个时间点,有时它们还必须计算这两个时间点之间的路径.使用 JDK 完成这项任务将非常痛苦和繁琐.现在来看看 Joda Time,一 ...

  4. Java中时间日期格式化

    1.与日期时间相关的类:      第一:java.util.Date;                           将时间作为一个整体使用.处理时,使用Date类较为简便      第二:j ...

  5. Java 8 时间日期库的20个使用示例

    java 8是如何处理时间及日期的 有人问我学习一个新库的最佳途径是什么?我的回答是,就是在实际项目中那样去使用它.在一个真实的项目中会有各种各样的需求,这会促使开发人员去探索和研究这个新库.简言之, ...

  6. Java 8 时间日期库的20个使用演示样例

    除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务演示样例来学习怎样使用Java 8的这套API.Java对日 ...

  7. Java基础/时间日期格式

    Java时间日期格式转换 一.Date转String和String转Date 参考博客:https://www.cnblogs.com/sharpest/p/7879377.html public s ...

  8. Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题

    LocalDate.LocalTime.LocalDateTime是Java 8开始提供的时间日期API,主要用来优化Java 8以前对于时间日期的处理操作.然而,我们在使用Spring Boot或使 ...

  9. Java实现时间日期格式转换示例

    package com.hanqi.util; import java.text.ParseException; import java.text.SimpleDateFormat; import j ...

随机推荐

  1. UE4入门(二)建立和打开项目

    1.双击电脑桌面上的Unreal Engine 2.见下图 建立c++或者蓝图项目: 蓝图是什么? 蓝图种类: 接口:

  2. 超详细 Spring @RequestMapping 注解使用技巧

    @RequestMapping 是 Spring Web 应用程序中最常被用到的注解之一.这个注解会将 HTTP 请求映射到 MVC 和 REST 控制器的处理方法上. 在这篇文章中,你将会看到 @R ...

  3. pointer-net

    Pointer network 主要用在解决组合优化类问题(TSP, Convex Hull等等),实际上是Sequence to Sequence learning中encoder RNN和deco ...

  4. 百度杯 ctf 九月场---Text

    一看题目发现善于查资料就行了,那估计就是以前的漏洞,需要百度搜一下,果然是海洋cms的漏洞!这个漏洞是前台getshell漏洞,seach漏洞,该漏洞成因在于search.php没有对用户输入内容进行 ...

  5. javascript对内容的操作

    我在这里介绍innerHTML.innerText.innerContent 一,innerHTML(可以识别标签): 案例1:替换掉整个标签 <!--innerHTML--> <p ...

  6. 【组合数】微信群 @upcexam6016

    时间限制: 1 Sec 内存限制: 128 MB 题目描述 众所周知,一个有着6个人的宿舍可以有7个微信群(^_^,别问我我也不知道为什么),然而事实上这个数字可以更大,因为每3个或者是更多的人都可以 ...

  7. 法嵌入互操作类型“SHDocVw.ShellWindowsClass”请改用适用的接口-解决方法

    点DLL名字,---属性----------嵌入互操作类型(设置为false)

  8. ASP.NET WebApi 基于OAuth2.0实现Token签名认证

    一.课程介绍 明人不说暗话,跟着阿笨一起玩WebApi!开发提供数据的WebApi服务,最重要的是数据的安全性.那么对于我们来说,如何确保数据的安全将是我们需要思考的问题.为了保护我们的WebApi数 ...

  9. mormot支持TCP/IP

    mormot支持TCP/IP http.sys本来就构建于TCP/IP之上,因此HTTP.SYS是支持TCP/IP连接的. 笔者为此特意写了一个测试DEMO.TCP/IP连接成功. 如果客户端过一段时 ...

  10. Python3 与 C# 并发编程之~ Net篇

    NetCore并发编程 示例代码:https://github.com/lotapp/BaseCode/tree/master/netcore/4_Concurrency 先简单说下概念(其实之前也有 ...