Java格式化日期 微秒
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格式化日期 微秒相关推荐
- java oracle to date_用TRUNC和TO_DATE截斷oracle中的java格式化日期()
當談到Oracle時,我並不是一個特別優秀的人,因爲我對數據庫的大部分經驗都來自SQL服務器.用TRUNC和TO_DATE截斷oracle中的java格式化日期() 我有一個java日期,我想轉換爲只 ...
- Java格式化日期用斜杠_[java工具类01]__构建格式化输出日期和时间的工具类
在之前的学习中,我写过一篇关于字符串格式化的,就主要设计到了时间以及日期的各种格式化显示的设置,其主要时通过String类的fomat()方法实现的. 我们可以通过使用不同的转换符来实现格式化显示不同 ...
- Java—格式化日期/时间
关注微信公众号:CodingTechWork,一起学习进步. DateFormat DateFormat继承MessageFormat,是实现日期格式化的抽象类.提供两个方法:format()用 ...
- java格式化日期时分秒_Java 日期、时间类,日期、时间的格式化
Java提供了Date.Calendar两个类用于处理日期.时间. 但Date的大部分构造器.方法已经过时,不在推荐使用,Calendar类又过于复杂,所以Java8推出了一套新的时间日期库. 1.D ...
- java 格式化日期_Java的日期格式化常用方法
public class SimpleDateFormatextends DateFormat SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类.它允许进行格式 ...
- java 格式化日期到毫秒_关于日期:Java – SimpleDateFormat格式化程序,以毫秒为单位返回纪元时间...
本问题已经有最佳答案,请猛点这里访问. 我是Java和编码的新手 - 我有一些代码以下列格式yyyy.MM.dd HH:mm:ss:ms返回时间戳,如下所示: SimpleDateFormat for ...
- Java格式化日期的方法
SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类.它允许进行格式化(日期 -> 文本).解析(文本 -> 日期)和规范化. 话不多说直接先上例子: ...
- java 格式化日期 注解_详解Java关于时间格式化的方法
一般从数据库获取的时间或日期时间格式化为date或者datetime,为了方便前端渲染,API接口返回的时候需要对日期进行格式化转换,通常会用到 SimpleDateFormat 工具处理. Simp ...
- java格式化日期时分秒_java的日期格式使用
java.util.Date java.sql.Date java.sql.Time java.sql.Timestamp java.text.SimpleDateFormat java.util ...
最新文章
- R-CNN和SPP-net
- 第四范式受邀参加信息技术大讲堂 共探新基建发展趋势
- Spring源码分析——资源访问利器Resource之接口和抽象类分析
- verilog仿真——$test$plusargs 和 $value$plusargs
- mac os touch命令_MacOS系统终端常用命令大全
- 【C++】函数的形参
- “HTTPS”安全在哪里?
- 理解思科IPS系统的traffic flow notifications
- 芯片上链,英特尔加入蚂蚁区块链生态
- 网页版 Nginx 配置文件生成器发布,在线一健生成神器!不用愁了!
- 机械工程设计分析和Matlab应用(PDF版)
- html5手机页面设计软件,5个非常优秀的免费H5页面制作工具(推荐)
- 普惠联接,让人类诗意地栖居在大地上
- html中的abbr有什么作用,HTML中abbr元素的使用介绍
- 由浅入深配置webpack4
- Javascript小练习——班级学号点名器
- 希尔伯特及其《几何学基础》电子版(英文PDF),
- Spring学习详细代码+图片解释笔记
- SIFT Flow 笔记
- Network Slimming