Java8 日期/时间(Date Time)使用简介

时间:2021-11-25 00:14:05

特别说明: LocalDateTime 为日期时间的计算提供了很大的方便, 在构造对象/运算/toString等方便都非常便利。

3个常用的类:

java.time.LocalDateTime;
java.time.LocalDate;
java.time.LocalTime;

推荐多使用 LocalDateTime

常用表达式:
现在:  LocalDateTime now = LocalDateTime.now(); 
今天:  LocalDate today = LocalDate.now();

从属性创建对象:
 LocalDateTime.of(int year, Month month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond)

相互转换:

LocalDate date = localDateTime.toLocalDate();
LocalDateTime dateTime = localDate.atStartOfDay(); LocalTime time = localDateTime.toLocalTime();
LocalDateTime dateTime = localTime.atDate(localDate); LocalDateTime dateTime = LocalDateTime.of(date.getYear() + 1900, date.getMonth() + 1, date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds());
Date date = new Date(localDateTime.getYear() - 1900, localDateTime.getMonthValue() - 1, localDateTime.getDayOfMonth(), localDateTime.getHour(), localDateTime.getMinute(), localDateTime.getSecond()); //会丢失 nanoOfSecond

组件兼容性:

  • myBatis (mybatis-spring v1.3.0) 暂不支持 localDateTime
  • Json (com.fasterxml.jackson.core v2.5.4) 貌似也没特别的支持, 序列化的结果如下:
{
"month": "DECEMBER",
"year": 2017,
"dayOfMonth": 7,
"dayOfWeek": "THURSDAY",
"dayOfYear": 341,
"monthValue": 12,
"hour": 10,
"minute": 4,
"nano": 228000000,
"second": 58,
"chronology": {
"id": "ISO",
"calendarType": "iso8601"
}
}

所以, 在与 数据库 交互, 与 Json 交互时还是建议使用 java.util.Date

总结:
当前情况下, 业务计算建议使用 LocalDateTime, 业务计算以外建议转化为 Date

By the way:
LocalDateTime 为日期时间的计算提供了很大的方便, 还有诸多其它优点。详细内容 Java8 日期/时间(Date Time)API指南](http://www.importnew.com/14140.html

Java8 日期/时间(Date Time)使用简介的更多相关文章

  1. Java 日期时间 Date类型,long类型,String类型表现形式的转换

    Java 日期时间 Date类型,long类型,String类型表现形式的转换 1.java.util.Date类型转换成long类型 java.util.Date dt = new Date(); ...

  2. Java 日期时间 Date类型,long类型,String类型表现形式的转换 (转)

    Java 日期时间 Date类型,long类型,String类型表现形式的转换 1.java.util.Date类型转换成long类型java.util.Date dt = new Date();Sy ...

  3. [转] Java8 日期/时间(Date Time)API指南

    [From] http://www.importnew.com/14140.html Java 8日期/时间( Date/Time)API是开发人员最受追捧的变化之一,Java从一开始就没有对日期时间 ...

  4. Java8 日期时间API

    一.转换 1.与字符串 //LocalDateTime 转 字符串 String str = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss ...

  5. Java日期时间API系列11-----Jdk8中java.time包中的新的日期时间API类,使用java8日期时间API重写农历LunarDate

    通过Java日期时间API系列7-----Jdk8中java.time包中的新的日期时间API类的优点,java8具有很多优点,现在网上查到的农历转换工具类都是基于jdk7及以前的类写的,下面使用ja ...

  6. Java日期时间(Date/Time)

    获取当前日期和时间 在Java中容易得到当前的日期和时间.可以使用一个简单的Date对象的toString()方法,如下所示打印当前日期和时间: import java.util.Date; publ ...

  7. java日期时间Date类

    java.util包提供了Date类来封装当前的日期和时间. Date类提供两个构造函数来实例化Date对象. 第一个构造函数使用当前日期和时间来初始化对象. Date( ) 第二个构造函数接收一个参 ...

  8. java8日期时间

    ###与时间有关的5个包* java.time* java.time.chrono* java.time.format* java.time.temporal* java.time.zone###ja ...

  9. java8 日期时间之间的关系

     Class or Enum Year Month Day Hours Minutes Seconds* Zone Offset Zone ID toString Output Where Discu ...

随机推荐

  1. Javascript与ECMAScript

    我们经常习惯性认为Javascript就是ECMAScript,但其实不是这样的. ECMAScript是一种脚本在语法和语义上的标准. 主要包括:语法.类型.语句.关键字.保留字.操作符.对象. 它 ...

  2. jQuery停止动画——stop()方法的使用

    很多时候需要停止匹配元素正在进行的动画,比如,当鼠标选入元素时显示菜单,鼠标离开时隐藏下拉菜单,如果鼠标移入移出过快的话就会导致动画效果与鼠标的动作不一致的情况,此时stop()就派上用场了. sto ...

  3. sysctl.conf

    linux系统接口 允许改变正在运作linux系统接口Tcp/IP堆栈和虚拟内存系统的高级选项 用来控制Linux网络配置/proc/sys/net/core/ TCP/IP参数修改添加到/etc/s ...

  4. DIH处理包含回车符换行符html标签内容的文本

    数据样例:2010-03-19 10:18:06130010543234203guqun09-12月-12liuyin18-6月 -14<P style="MARGIN-TOP: 0p ...

  5. Node安装与环境配置

    1.nodejs(npm)安装 下载nodejs(http://nodejs.cn/)安装后,cmd下如输入 node -v  与  npm -v 出现下图版本提示就是完成了NodeJS的安装 2.n ...

  6. 安装MYSQL 出现Error 1045 access denied 的解决方法

    操作系统:WINDOWS10 系统 数据库版本:mysql 5.x 提示:access denied for user 'root'@'localhost' using password yes/no ...

  7. jQuery插件学习&lpar;一&rpar;

    由于项目开发需要,经常会用到一些jquery插件,但网上已有的插件常常又不能100%满足业务需求,所以就想自己能看懂插件的代码,进行一些功能上的改动和补充,或者能自己自定义插件就更好了.所以这段时间会 ...

  8. bat脚本:Java一键编译&lpar;Javac java&rpar;

    bat脚本:Java一键编译(Javac java) D:    是指D盘 javat是要编译的.java文件所在的文件夹 也就是D:\javat bat代码: :start COLOR 0A cls ...

  9. Java 基础 集合框架

    Java中的集合从类的继承和接口的实现结构来说,可以分为两大类: 1 继承自Collection接口,包含List.Set和Queue等接口和实现类. 2 继承自Map接口,主要包含哈希表相关的集合类 ...

  10. android 获取Asset中Properties文件配置的键值对

    1 获取 AssetManager AssetManager assetManager = context.getApplicationContext().getAssets(); 2 获取流 Str ...