1. //LocalDate代表一个IOS格式(yyyy-MM-dd)的日期 获取当前的日期:
  2. LocalDate localDate = LocalDate.now();//LocalDate: 表示没有时区的日期, LocalDate是不可变并且线程安全的
  3. System.out.println("localDate: " + localDate);//localDate: 2017-08-24
  4. //LocalDate可以指定特定的日期,调用of或parse方法返回该实例:
  5. System.out.println(LocalDate.of(2017, 07, 20));//2017-07-20
  6. System.out.println(LocalDate.parse("2017-07-20"));//2017-07-20
  7. //为今天添加一天,也就是获取明天
  8. System.out.println(LocalDate.now().plusDays(1));//2017-08-25
  9. //为今天添加7天,也就是获取一个礼拜之后的今天
  10. System.out.println(LocalDate.now().plusWeeks(1));//2017-08-31
  11. //为今天添加一个月,也就是获取一个月后的今天
  12. System.out.println(LocalDate.now().plusMonths(1));//2017-09-24
  13. //为今天添加一年,也就是获取一年后的今天
  14. System.out.println(LocalDate.now().plusYears(1));//2018-08-24
  15. //从今天减去一个月 (跟加同理 可获取减去1天、 1个礼拜、 1年之后的时间)
  16. System.out.println(LocalDate.now().minus(1, ChronoUnit.MONTHS));//2017-07-24
  17. System.out.println(LocalDate.now().minusMonths(1));//2017-07-24
  18. //解析日期 2017-07-20,获取每周中的星期和每月中的日 等
  19. System.out.println("周四: " +LocalDate.parse("2017-07-20").getDayOfWeek());//THURSDAY
  20. System.out.println("日: " +LocalDate.parse("2017-07-20").getDayOfMonth());//20
  21. System.out.println("月: " +LocalDate.parse("2017-07-20").getMonthValue());//7
  22. System.out.println("年: " +LocalDate.parse("2017-07-20").getYear());//2017
  23. System.out.println("月: " +LocalDate.parse("2017-07-20").getMonth());//JULY
  24. //今年是不是闰年(闰年判断)
  25. System.out.println(LocalDate.now().isLeapYear());//false
  26. //判断是否在日期之前或之后:
  27. System.out.println(LocalDate.parse("2017-07-20").isAfter(LocalDate.parse("2017-07-21")));//false
  28. System.out.println(LocalDate.parse("2017-07-20").isBefore(LocalDate.parse("2017-07-21")));//true
  29. System.out.println(LocalDate.parse("2217-07-20").isBefore(LocalDate.parse("2017-07-21")));//false
  30. //获取这个月的第一天:
  31. System.out.println(LocalDate.parse("2017-07-20").with(TemporalAdjusters.firstDayOfMonth()));//2017-07-01
  32. //获取下个月的第一天,等等。。
  33. System.out.println(LocalDate.parse("2017-07-20").with(TemporalAdjusters.firstDayOfNextMonth()));//2017-08-01
  34. System.out.println(LocalDate.parse("2017-07-20").with(TemporalAdjusters.lastDayOfMonth()));//2017-07-31
  35. System.out.println(LocalDate.parse("2017-07-20").with(TemporalAdjusters.firstDayOfNextYear()));//2018-01-01
  36. System.out.println(LocalDate.parse("2017-07-20").with(TemporalAdjusters.firstDayOfYear()));//2017-01-01
  37. //判断今天是否是我的生日,例如我的生日是 2006-07-20
  38. LocalDate birthday = LocalDate.of(2006, 07, 20);
  39. MonthDay birthdayMd = MonthDay.of(birthday.getMonth(),birthday.getDayOfMonth());
  40. MonthDay today=MonthDay.from(LocalDate.now());
  41. System.out.println("今天是否是我的生日: " + today.equals(birthdayMd));//false
  42. System.out.println("=======LocalTime表示一个时间,而不是日期===========");
  43. //获取现在的时间 09:52:19.446
  44. System.out.println("现在的时间: " +LocalTime.now());
  45. //将一个字符串时间解析为LocalTime
  46. System.out.println( LocalTime.parse("15:02"));//15:02
  47. //使用静态方法of创建一个时间
  48. System.out.println(LocalTime.of(16, 02));//16:02
  49. //使用解析字符串的方式并添加一小时,输出16:02
  50. System.out.println(LocalTime.parse("15:02").plus(1, ChronoUnit.HOURS));//16:02
  51. System.out.println(LocalTime.parse("15:02").plus(10, ChronoUnit.MINUTES));//15:12
  52. //获取时间的小时、分钟
  53. System.out.println(LocalTime.parse("15:02").getHour());//15
  54. System.out.println(LocalTime.parse("15:02").getMinute());//2
  55. //检查一个时间是否在另一个时间之前、之后
  56. System.out.println(LocalTime.parse("15:02").isAfter(LocalTime.parse("14:02")));//true
  57. System.out.println(LocalTime.parse("15:02").isBefore(LocalTime.parse("14:02")));//false
  58. //每天的开始与结束时间
  59. System.out.println(LocalTime.MAX);//23:59:59.999999999
  60. System.out.println(LocalTime.MIN);//00:00
  61. System.out.println("=======LocalDateTime是用来表示日期和时间的,这是一个最常用的类之一===========");
  62. System.out.println("现在: " +LocalDateTime.now());//2017-08-24T10:31:03.600
  63. //LocalDateTime也提供了相关API来对日期和时间进行增减操作
  64. System.out.println("明天的现在: " +LocalDateTime.now().plusDays(1));//2017-08-25T10:33:05.363
  65. //获取当前月份等等
  66. System.out.println(LocalDateTime.now().getMonthValue());//8
  67. System.out.println(LocalDateTime.now().getMonth());//AUGUST
  68. System.out.println(LocalDateTime.now().getYear());//2017
  69. //日期格式化
  70. System.out.println("======日期格式化=======");
  71. LocalDateTime now = LocalDateTime.now();
  72. DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
  73. System.out.println("默认格式化: " + now);
  74. System.out.println("自定义格式化: " + now.format(dateTimeFormatter));
  75. LocalDateTime localDateTime = LocalDateTime.parse("2017-07-20 15:27:44", dateTimeFormatter);
  76. System.out.println("字符串转LocalDateTime: " + localDateTime.format(dateTimeFormatter));
  77.  
  78. DateTimeFormatter dateTimeFormatter_s = DateTimeFormatter.ofPattern("yyyy-MM-dd");
  79. String dateString = dateTimeFormatter_s.format(LocalDate.now());
  80. System.out.println("日期转字符串: " + dateString);
  81. //日期和周期 Period类用于修改给定日期或获得的两个日期之间的区别。
  82. LocalDate initialDate = LocalDate.parse("2017-07-20");
  83. LocalDate finalDate = initialDate.plus(Period.ofDays(5));//给初始化的日期添加5天
  84. System.out.println("初始化日期: " + initialDate);//2017-07-20
  85. System.out.println("加日期之后: " + finalDate);//2017-07-25
  86. //周期(Period)API中提供给我们可以比较两个日期的差别,像下面这样获取差距天数:(同理可以获取两个时间相差的小时、周、月、年)
  87. long between = ChronoUnit.DAYS.between(initialDate, finalDate);
  88. System.out.println("差距天数: " + between);//5
  89. //如何将Date类转换为Java8中的时间类
  90. //Date和Instant互相转换
  91. Date date = Date.from(Instant.now());
  92. Instant instant = date.toInstant();
  93. //Date转换为LocalDateTime
  94.  
  95. ZoneId zoneId = ZoneId.systemDefault();
  1. LocalDateTime localDateTime = new Date().toInstant().atZone(zoneId).toLocalDateTime();
    System.out.println("LocalDateTime = " + localDateTime);
  1. //LocalDateTime转Date Date date_s = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); System.out.println(date_s); //LocalDate转Date Date date_t = Date.from(LocalDate.now().atStartOfDay().atZone(ZoneId.systemDefault()).toInstant()); System.out.println(date_t);

  

java8时间使用小结的更多相关文章

  1. java8 时间使用

    为什么需要新的时间API 文章来源:https://www.cnblogs.com/guozp/p/10342775.html 在Java 8之前的日期/时间API之前,现有的与日期和时间相关的类存在 ...

  2. Java8获取当前时间、新的时间日期类如Java8的LocalDate与Date相互转换、ZonedDateTime等常用操作包含多个使用示例、Java8时区ZoneId的使用方法、Java8时间字符串解析成类

     下面将依次介绍 Date转Java8时间类操作 ,Java8时间类LocalDate常用操作(如获得当前日期,两个日期相差多少天,下个星期的日期,下个月第一天等) 解析不同时间字符串成对应的Java ...

  3. Java8 时间日期类操作

    Java8 时间日期类操作 Java8的时间类有两个重要的特性 线程安全 不可变类,返回的都是新的对象 显然,该特性解决了原来java.util.Date类与SimpleDateFormat线程不安全 ...

  4. 迄今为止最硬核的「Java8时间系统」设计原理与使用方法

    为了使本篇文章更容易让读者读懂,我特意写了上一篇<任何人都需要知道的「世界时间系统」构成原理,尤其开发人员>的科普文章.本文才是重点,绝对要读,走起! Java平台时间系统的设计方案 几乎 ...

  5. java8时间类API安全问题(赠送新的时间工具类哟)

    LocalDateTime等新出的日期类全是final修饰的类,不能被继承,且对应的日期变量都是final修饰的,也就是不可变类.赋值一次后就不可变,不存在多线程数据问题. simpleDateFor ...

  6. Javascript时间操作小结

    来源:http://www.ido321.com/847.html 在项目需要一个计时器,效果如下: js代码 1: /*获取当前时间*/ 2: function getCurrentDate() 3 ...

  7. Java8 时间 API

    前言 Java8 中最为人津津乐道的新改变恐怕当属函数式 API 的加入.但实际上,Java8 所加入的新功能远不止这个. 本文将基于<Java SE8 for the Really Impat ...

  8. Java8时间的简单时间

    package com.java8.date; import org.junit.Test; import java.text.SimpleDateFormat; import java.time.* ...

  9. java8时间类

    java8引入了一套全新的时间日期API 新的时间及日期API位于java.time中java.time包中的是类是不可变且线程安全的. 下面是一些关键类 LocalDateTime       // ...

随机推荐

  1. vapply

    尽管 sapply 非常方便和智能,但有时智能可能隐藏着风险.假如我们有一个数字列表:x <- list(c(1, 2), c(2, 3), c(1, 3))如果我们想得到一个向量,其中每个元素 ...

  2. 使用 switch 对值进行分支

    与处理 TRUE 和 FALSE 条件的 if 相比,switch 语句则是用来处理数字或者字符串,并根据输入返回某个分支.假设输入一个整数 n,switch 返回从第 1 个参数开始的第 n 个参数 ...

  3. mongo学亮的分享

    # MongoDB 集群部署## 关键词* 集群* 副本集* 分片## MongoDB集群部署>今天主要来说说Mongodb的三种集群方式的搭建Replica Set副本集 / Sharding ...

  4. IOS-多线程(NSOperation)

    一.基础用法 // // ViewController.m // IOS_0120_NSOperation // // Created by ma c on 16/1/20. // Copyright ...

  5. hook 学习

    一.hook 是什么? Hooks Overview 二.hook 的用法 三.hook 应用

  6. openfalcon源码分析之hbs

    openfalcon源码分析之hbs 本节内容 hbs功能 hbs源码分析 hbs设计优劣 1. hbs功能 hbs在整个open-falcon项目中承担的角色就是连接数据库,作为数据库缓存,缓存配置 ...

  7. 中兴u880e精简教程

    精简软件请参考此处 (A代表可以删除,B代表建议别删除.)删或留你做主. Accounts AndSyncSettings.apk 账户与同步设置 A alarming.apk 闹钟时钟 A Appl ...

  8. 使用Array类处理基本数组对象

    java里面的Arrays类有个asList方法,参数是1或多个Object对象,如果传入一个Object数组,则可以将该数组转化为List,但如果传入的是一个基本类型的数据(int,long,sho ...

  9. 根据马甲、应用商店、统计每天的注册量,要求可以根据选择马甲和app,马甲和appstrore和user_login不同表问题

    这个马甲属于一个表,appStore另一张表,用户登录表,主要操作的就是这三个表. 我这里的马甲和app的id都与用户登录表中的channel对应,在channel存放的是majiaId + “|” ...

  10. Leetcode 1021. Remove Outermost Parentheses

    括号匹配想到用栈来做: class Solution: def removeOuterParentheses(self, S: str) -> str: size=len(S) if size= ...