Java格式化日期 微秒

  • Date、LocalDateTime格式化微秒值
  • Date、LocalDateTime互转

本文主要讲述Java日期格式化及格式化日期到微秒

Date、LocalDateTime格式化微秒值

java代码TestTime.java如下

package com.dongao.test;import com.dongao.project.common.util.DateUtils;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Date;public class TestTime {public static void main(String[] args) {String str = "2022-07-04 23:57:29.696";Date date = stringToDate(str, "yyyy-MM-dd HH:mm:ss.SSS");System.out.println("date:["+date+"]");LocalDateTime datetime = stringToDateTime(str, "yyyy-MM-dd HH:mm:ss.SSS");System.out.println("datetime:["+datetime+"]");}public static Date stringToDate(String inStr, String dateFormat) {try {return getDateFormat(dateFormat).parse(inStr);} catch (ParseException e) {e.printStackTrace();}return null;}public static LocalDateTime stringToDateTime(String inStr, String dateFormat) {try {LocalDateTime localDateTime = LocalDateTime.parse(inStr, getDateTimeFormat(dateFormat));return localDateTime;} catch (Exception e) {e.printStackTrace();}return null;}public static SimpleDateFormat getDateFormat(String dateFormat) {return new SimpleDateFormat(dateFormat);}public static DateTimeFormatter getDateTimeFormat(String dateFormat) {return DateTimeFormatter.ofPattern(dateFormat);}
}

格式化结果执行

通过执行结果可以看到用SimpleDateFormat对含有微秒值的时间格式在字符串转Date时除了会出现精度丢失的情况,部分时间还会出现转换错误的情况,而用DateTimeFormatter对含有微妙值的时间格式字符串转LocalDateTime则一切正常。
但是一般业务不会用到时间格式的毫秒或者说微秒值,如果真的用到的话建议用LocalDateTime存储,Mysql需要用datetime(6)这样就可以保存微秒值的时间,如图

Date、LocalDateTime互转

在不考虑微秒或者毫秒时间精度丢失的情况下,Date、LocalDateTime可以相互转,main函数增加代码

        Date toDate = toDate(datetime);System.out.println("toDate:["+toDate+"]");LocalDateTime toLocalDateTime = toLocalDateTime(date);System.out.println("toLocalDateTime:["+toLocalDateTime+"]");LocalDate toLocalDate = toLocalDate(date);System.out.println("toLocalDate:["+toLocalDate+"]");

整个类增加方法

    public static Date toDate(LocalDateTime localDateTime) {Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant();return Date.from(instant);}public static LocalDateTime toLocalDateTime(Date date) {Instant instant = date.toInstant();LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());return localDateTime;}public static LocalDate toLocalDate(Date date) {Instant instant = date.toInstant();LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());LocalDate localDate = localDateTime.toLocalDate();return localDate;}

转换之后结果如图

参考文章:https://developer.aliyun.com/article/982671

Java格式化日期 微秒相关推荐

  1. java oracle to date_用TRUNC和TO_DATE截斷oracle中的java格式化日期()

    當談到Oracle時,我並不是一個特別優秀的人,因爲我對數據庫的大部分經驗都來自SQL服務器.用TRUNC和TO_DATE截斷oracle中的java格式化日期() 我有一個java日期,我想轉換爲只 ...

  2. Java格式化日期用斜杠_[java工具类01]__构建格式化输出日期和时间的工具类

    在之前的学习中,我写过一篇关于字符串格式化的,就主要设计到了时间以及日期的各种格式化显示的设置,其主要时通过String类的fomat()方法实现的. 我们可以通过使用不同的转换符来实现格式化显示不同 ...

  3. Java—格式化日期/时间

    关注微信公众号:CodingTechWork,一起学习进步. DateFormat    DateFormat继承MessageFormat,是实现日期格式化的抽象类.提供两个方法:format()用 ...

  4. java格式化日期时分秒_Java 日期、时间类,日期、时间的格式化

    Java提供了Date.Calendar两个类用于处理日期.时间. 但Date的大部分构造器.方法已经过时,不在推荐使用,Calendar类又过于复杂,所以Java8推出了一套新的时间日期库. 1.D ...

  5. java 格式化日期_Java的日期格式化常用方法

    public class SimpleDateFormatextends DateFormat SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类.它允许进行格式 ...

  6. java 格式化日期到毫秒_关于日期:Java – SimpleDateFormat格式化程序,以毫秒为单位返回纪元时间...

    本问题已经有最佳答案,请猛点这里访问. 我是Java和编码的新手 - 我有一些代码以下列格式yyyy.MM.dd HH:mm:ss:ms返回时间戳,如下所示: SimpleDateFormat for ...

  7. Java格式化日期的方法

    SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类.它允许进行格式化(日期 -> 文本).解析(文本 -> 日期)和规范化. 话不多说直接先上例子: ...

  8. java 格式化日期 注解_详解Java关于时间格式化的方法

    一般从数据库获取的时间或日期时间格式化为date或者datetime,为了方便前端渲染,API接口返回的时候需要对日期进行格式化转换,通常会用到 SimpleDateFormat 工具处理. Simp ...

  9. java格式化日期时分秒_java的日期格式使用

    java.util.Date java.sql.Date  java.sql.Time  java.sql.Timestamp java.text.SimpleDateFormat java.util ...

最新文章

  1. R-CNN和SPP-net
  2. 第四范式受邀参加信息技术大讲堂 共探新基建发展趋势
  3. Spring源码分析——资源访问利器Resource之接口和抽象类分析
  4. verilog仿真——$test$plusargs 和 $value$plusargs
  5. mac os touch命令_MacOS系统终端常用命令大全
  6. 【C++】函数的形参
  7. “HTTPS”安全在哪里?
  8. 理解思科IPS系统的traffic flow notifications
  9. 芯片上链,英特尔加入蚂蚁区块链生态
  10. 网页版 Nginx 配置文件生成器发布,在线一健生成神器!不用愁了!
  11. 机械工程设计分析和Matlab应用(PDF版)
  12. html5手机页面设计软件,5个非常优秀的免费H5页面制作工具(推荐)
  13. 普惠联接,让人类诗意地栖居在大地上
  14. html中的abbr有什么作用,HTML中abbr元素的使用介绍
  15. 由浅入深配置webpack4
  16. Javascript小练习——班级学号点名器
  17. 希尔伯特及其《几何学基础》电子版(英文PDF),
  18. Spring学习详细代码+图片解释笔记
  19. SIFT Flow 笔记
  20. Network Slimming

热门文章

  1. 食堂基础设施调研报告
  2. Java之自动拆装箱及享元模式应用
  3. 世界上第一个程序员——诗人拜伦之女Ada,短暂而非凡的一生
  4. 不确定性语义分割论文、代码汇总
  5. 01-Jenkins-环境搭建
  6. 阿尔法狗打脸啪啪响啊~
  7. 中职计算机英语教学计划,中职英语教学计划
  8. 总局答复!如何界定检验检测机构出具不实检验检测报告的情形?
  9. 几款三维模型OSGb转换3dtile格式的软件
  10. 面试了近60个公司,我听懂了这些“潜台词”