JDK8中增加了一系列时间的类,

(据说)是为了干掉过去的Date,Calendar类的,

过去的Date类(据说)有着线程不安全等诸多弊端,

至于我的个人感受就是用起来实在是很麻烦,我一般封装成几个常用的方法以后每次就调方法,再也不想看里面是怎么实现的了.

而发现了LocalDateTime这种新类以后,经过我的简单的试用,觉得完全可以取代掉之前使用时间的一切方法.非常好用,太好用了.

下面是简单的使用教程:

1,按照自由格式获取当前时间

public static String getTodayByFormat(String timeFormat){
return LocalDateTime.now().format(DateTimeFormatter.ofPattern(timeFormat));
}

简直优雅,甚至我都不想封装成方法了,想用随时写,就是这么容易.

2,获取当前年/月/日

一张图说明,想怎么取,想怎么拼,都随便

3,获取前一天

从前我的笨方法是:

public static String getYesterdayByFormat(String timeFormat){
//获取当前日期
Date date = new Date();
SimpleDateFormat sf = new SimpleDateFormat(timeFormat);
//通过秒获取下一天日期
long time = (date.getTime() / 1000) - 60 * 60 * 24;//秒
date.setTime(time * 1000);//毫秒
String yesterday = sf.format(date).toString();
return yesterday;
}

如今有了新方法:

public static String getYesterdayByFormat(String timeFormat){
return LocalDateTime.now().plusDays(1).format(DateTimeFormatter.ofPattern(timeFormat));
}

同理,我都不想为获取X天后/X小时后单独写方法了,就在下面(以增加为例):

返回值是LocalDateTime,也就意味着可以一直链式点下去,想要多少天以后的数据尽管开口,一句写不完算我输.

4,获取已经度过的毫秒/秒

为啥一个是to一个是get我也不是很明白

其他更多的我还没用,感觉用不到了,有需要再去查就是了.

Java LocalDateTime,DateTimeFomatter----JDK8新时间类的简单使用的更多相关文章

  1. Java 线程安全LocalTime 和LocaldateTime 新的Date和Time类 -JDK8新时间类的简单使用

    不可变类且线程安全 LocalDate .java.time.LocalTime 和LocaldateTime  新的Date和Time类 DateTimeFormatter ==https://ww ...

  2. springboot Thymeleaf中格式化jsr310新日期时间类(LocalDateTime,LocalDate)--thymeleaf格式化LocalDateTime,LocalDate等JDK8新时间类

    依赖maven包 <dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>th ...

  3. java新时间类

    时间 java8以前使用的时间很多方法都已经废弃了,而且不是线程安全的,java8提供了一系列的时间类,这些时间类都是线程安全的 LocalDate.LocalTime.LocalDateTime 这 ...

  4. Java中关于Date等日期类的简单使用

    Date Date类不常用,很多方法被废弃了,常用它的两个构造方法来new一个Date对象. Date d1 = new Date(); //不传任何参数,代表当前时间点 System.out.pri ...

  5. 一次电话Java面试的问题总结(JDK8新特性、哈希冲突、HashMap原理、线程安全、Linux查询命令、Hadoop节点)

    面试涉及问题含有: Java JDK8新特性 集合(哈希冲突.HashMap的原理.自动排序的集合TreeSet) 多线程安全问题 String和StringBuffer JVM 原理.运行流程.内部 ...

  6. Java时间类总结

    java.util.Date 包含有年月日时分秒,精确到毫秒级别. 官方解释: // The class Date represents a specific instant in time, wit ...

  7. java.util.Date和jdk1.8新时间API比拼

    旧的时间和日期的API的缺陷 Java 的 java.util.Date 和 java.util.Calendar 类易用性差,不支持时区,而且都不是线程安全的. Date如果不格式化,打印出的日期可 ...

  8. Java中时间类中的Data类与Time类

    小简博客 - 小简的技术栈,专注Java及其他计算机技术.互联网技术教程 (ideaopen.cn) Data类 Data类中常用方法 boolean after(Date date) 若当调用此方法 ...

  9. 10.3(Java学习笔记)JDBC时间操作

    一.时间分类 数据库     java类 Date  ---- java.sql.Date   表示日期 yyyy-MM--dd (年月日) Time  ----java.sql.Time    表示 ...

随机推荐

  1. Elasticsearch集群内的原理

        一个运行中的 Elasticsearch 实例称为一个 节点,而集群是由一个或者多个拥有相同 cluster.name 配置的节点组成, 它们共同承担数据和负载的压力.当有节点加入集群中或者从 ...

  2. node 按行读取文件

    var readline = require('readline'); var fs = require('fs'); var os = require('os'); var fReadName =  ...

  3. windows WTL使用命令行参数

    两中方法: 第一种: int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpstrCmdLin ...

  4. 算法竞赛入门经典训练指南——UVA 11300 preading the Wealth

    A Communist regime is trying to redistribute wealth in a village. They have have decided to sit ever ...

  5. 合并两个JsonArray

    //合并两个JSONArray public static String joinJSONArray(JSONArray mData, JSONArray array) { StringBuffer ...

  6. Linux环境nginx的安装

    安装Nginx前需要编译环境和库文件支持: 1.安装make: yum -y install openssl openssl-devel yum -y install gcc automake aut ...

  7. Linux的简单介绍.

    Linux操作系统概述: Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境.Linux是由Linux Torvalds(林纳斯·托瓦兹)起初开发 ...

  8. JavaScript document open() 方法:打开一个新文档

    <html> <head> <script type="text/javascript"> function createNewDoc() { ...

  9. P3243 [HNOI2015]菜肴制作(拓扑排序)

    P3243 [HNOI2015]菜肴制作 题目误导你正着做拓扑排序,然鹅你可以手造数据推翻它.于是就只能倒着做 我们开个优先队列,每次把可填的最大的编号取出来搞,最后倒着输出拓扑序就好辣 #inclu ...

  10. Linux LAMP架构搭建

    一.部署LAMP基本架构 1.L(linux)A(apache)M(mysql)P(php) 2.稳定版本(mysql5.1,php5.3,apache2.2) 3.安装顺序,mysql-->a ...