java 时间转换之LocalDate,LocalTime ,LocalDateTime的使用篇一

【LocalDate】时间格式互转 LocalDate LocalDateTime ZonedDateTime TimeStamp long String互转 及常用操作合集 LocalDate LocalDateTime long timestamp String互转的常用操作 阅读详情

关于时间转换
第一时间我们会想到 Date,SimpleDateFormat,calendar进行转换;但
如果Date不格式化,打印出的日期可读性差。
使用SimpleDateFormat对时间进行格式化,但SimpleDateFormat是线程不安全的。
calendar是共享变量,并且calendar没有做线程安全控制,多线程同步调用时会发生时间错误;

此时 java 8退出全新的时间和日期工具类;
具体如下:

LocalDate(日期工具类:yyyy-MM-dd);
 LocalTime (时间工具类:HH:mm:ss);
 LocalDateTime(日期时间工具类:yyyy-MM-dd HH:mm:ss)
*切记对应转换,要不然会报错;

具体使用如下:

 

 

public class TimeUtil {
    /**
     * LocalDateTime 转long
     * @param time
     * @return
     */
    public Long getDateTimeLong(LocalDateTime time) {
        ZoneId zoneId = ZoneId.systemDefault();
        Instant instant = time.atZone(zoneId).toInstant();
        return instant.toEpochMilli();
    }

    /**
     * LocalDate 转 long
     * @param date
     * @return
     */

    public Long getDateLong(LocalDate date) {
        LocalDateTime dateTime = date.atStartOfDay();
        return getDateTimeLong(dateTime);
    }

    /**
     * LocalTime 转 long
     * @param time
     * @return
     */
    public Long getTimeLong(LocalTime time){
        LocalDateTime dateTime = time.atDate(LocalDate.now());
        return getDateTimeLong(dateTime);
    }

    /**
     * long 转 LocalDateTime
     * @param l
     * @return
     */
    public LocalDateTime dateTimeToLong(long l){
        return LocalDateTime.ofInstant(Instant.ofEpochMilli(l),ZoneId.systemDefault());
    }

    /**
     * long 转 LocalDate
     * @param l
     * @return
     */
    public LocalDate dateToLong(long l){
        return LocalDateTime.ofInstant(Instant.ofEpochMilli(l), ZoneId.systemDefault()).toLocalDate();

    }

    /**
     * long 转 LocalTime
     * @param l
     * @return
     */
    public LocalTime timeToLong(long l){
        return LocalDateTime.ofInstant(Instant.ofEpochMilli(l),ZoneId.systemDefault()).toLocalTime();
    }

    /**
     * long  转 String
     * LocalDateTime 时间格式  yyyy-MM-dd HH:mm:ss  MM-dd HH:mm:ss  yyyy-MM-dd HH:mm等(日期加时间)
     * @param format
     * @param l
     * @return
     */
    public String dateTimeToString(DateTimeFormatter format, long l){
        LocalDateTime time = dateTimeToLong(l);
        return time.format(format);
    }

    /**
     * long  转 String
     * LocalDate 时间格式  yyyy-MM-dd  yyyy-MM  MM-dd等(纯日期)
     * @param formatter 格式  yyyy-MM-dd  yyyy-MM  MM-dd
     * @param l
     * @return
     */
    public String dateToString(DateTimeFormatter formatter,long l){
        LocalDate date = dateToLong(l);
        return date.format(formatter);

    }

    /**
     * long  转 String
     * LocalTime 时间格式 HH:mm:ss  HH:mm  mm:ss等(纯时间)
     * @param formatter 时间格式 HH:mm:ss  HH:mm  mm:ss
     * @param l
     * @return
     */
    public String timeToString(DateTimeFormatter formatter,long l){
        LocalTime time = timeToLong(l);
        return time.format(formatter);
    }

    /**
     * 获取当前日期
     * @param formatter
     * @return
     */
    public String getCurrentDate(DateTimeFormatter formatter){
        return LocalDate.now().format(formatter);
    }

    /**
     * 获取当前时间
     * @param formatter
     * @return
     */
    public String getCurrentTime(DateTimeFormatter formatter){
        return LocalTime.now().format(formatter);
    }

    /**
     * 获取当前日期和时间
     * @param formatter
     * @return
     */
    public String getCurrentDateTime(DateTimeFormatter formatter){
        return LocalDateTime.now().format(formatter);
    }



    /**
     * 获取当前毫秒值
     * @return
     */
    public long getCurrentMillLong(){
        return System.currentTimeMillis();
    }

    /**
     * 自定义时间格式 可返回 日期加时间格式
     * @param timeFormat
     * @return
     */
    public DateTimeFormatter getDateTimeFormat(String timeFormat){
        return DateTimeFormatter.ofPattern(timeFormat);
    }

    /**
     * 常见日期和时间格式6位
     * @return
     */
    public DateTimeFormatter getDateTimeFormat6(){
        return DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    }
    /**
     * 常见日期和时间格式5位
     * @return
     */
    public DateTimeFormatter getDateTimeFormat5(){
        return DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
    }
    /**
     * 常见日期和时间格式4位
     * @return
     */
    public DateTimeFormatter getDateTimeFormat4(){
        return DateTimeFormatter.ofPattern("MM-dd HH:mm");
    }
    /**
     * 常见日期格式3位
     * @return
     */
    public DateTimeFormatter getDateFormat3(){
        return DateTimeFormatter.ofPattern("yyyy-MM-dd");
    }
    /**
     * 常见日期格式2位
     * @return
     */
    public DateTimeFormatter getDateFormat2(){
        return DateTimeFormatter.ofPattern("MM-dd");
    }
    /**
     * 常见时间格式3位
     * @return
     */
    public DateTimeFormatter getTimeFormat3(){
        return DateTimeFormatter.ofPattern("HH:mm:ss");
    }
    /**
     * 常见时间格式2位
     * @return
     */
    public DateTimeFormatter getTimeFormat2(){
        return DateTimeFormatter.ofPattern("HH:mm");
    }

 


TimeUtil 是我总结的java 8新特性关于LocalDate,LocalTime ,LocalDateTime的使用,也是常见的时间转换的工具类,欢迎私信留言讨论。

 

 

 

LocalDate、LocalDateTime、LocalTime方法的基本使用 localdate是针对于年月日的,localtime是针对于时分秒,localdatetime是针对于年月日时分秒。 阅读详情

相关推荐

从SIGGRAPH审稿人视角看:什么样的TOG论文更容易被接收?

本文从SIGGRAPH审稿人视角深入解析TOG论文的审稿标准与投稿策略,揭示如何提升论文接收概率。重点探讨创新性、技术深度、实验验证等核心评分维度,并提供写作技巧与审稿意见应对策略,帮助研究者优化ACM Transactions on Graphics投稿质量。

weixin_33721344的博客 108

LocalDateTime转换

一、LocalDateTime转换至String互转 LocalDateTime localDateTime=LocalDateTime.parse(dates,DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); String localDateTimeStr=LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); 二、LocalDateTime转换

恨_别离的博客 1万+

LocalDateTime 转 Long

将 LocalDateTime 转换为 Long 可以使用以下方法: 首先,使用 LocalDateTime 的 toInstant() 方法将 LocalDateTime 对象转换为 Instant 对象,因为 Instant 对象是一个以 Unix 时间(即自1970年1月1日以来的秒数)表示时间的对象。 然后,可以使用 Instant 对象的 toEpochMilli() 方法将其转换为毫秒...

weixin_42612804的博客 7046

从USB 2.0到USB 3.x:Synopsys SVT USB VIP配置避坑与接口选择指南

本文详细解析了从USB 2.0到USB 3.x的Synopsys SVT USB VIP配置要点,涵盖协议版本选择、物理接口匹配及UVM层次化架构实现。重点介绍了layering sequence的配置技巧和常见问题解决方案,帮助验证工程师高效避坑并优化验证流程。

weixin_42653691的博客 238

新能源知识库(68)复叠压缩式热泵蒸汽系统介绍

复叠压缩式热泵蒸汽系统通过多级压缩技术将低品位热能转化为高品位蒸汽,在汽车电镀场景中实现了高效、精准的能源利用。随着超高温工质与智能联供系统的发展,该技术将深度赋能电镀行业的高质量可持续发展。​:±1℃控温保障镀层均匀性,提升产品良率;多台复叠热泵+储热装置(如纺织厂6台热泵)复叠热泵+余热回收+智能控制(化工厂案例)​:无燃烧设计契合汽车行业ESG目标。单台高温热泵机组(如92P型号)复叠压缩式热泵蒸汽系统以。67.4万元(↓22%)600万–1200万元。事故率 ↓90%​​。150万–600万元。

竹君子之家 1422

Java LocalDateTime 转 毫秒级Long

类型,以便于存储或传输数据。类,可以用于表示日期和时间。在上面的代码中,首先我们获取了当前的。Java 8 提供了。

weixin_41917928的博客 4563

论文分栏前后内容不连续?教你word如何删除分节符

问题 当我们在写论文的时候,很多期刊的模板都是两栏的格式,但有的时候我们插入的图像尺寸可能太大,两栏格式放不下,因此需要将其以一栏的格式出入,如下: 但当我们把图片删除后,再将其转换成两栏格式,前后内容就出现不连续的情况: 正常情况下应该是如下: 正确处理方式 里面有个分页符,把分页符去掉,或者把你的文字全部复制到记事本里,然后重新复制回word就可以取消原有的格式了。 删除分节符的方法(以word 2019为例) -点击菜单栏上的“视图”,点击“大纲视图”。 可以看到word文档以整列的形式展开:

左手の明天的博客 1万+

java中Date与LocalDate、LocalDate、LocalDateTime互相转化

一、Date转化为LocalDate、LocalDate、LocalDateTime 1.第一种转换方法,借助新增类ZoneId、Instant、ZonedDateTime public static void date2Local() { Date date = new Date(); //返回当前系统默认的时区 ZoneId zoneId = ZoneId.systemDefault(); //atZone()方法返回在指定

nhjdcsdn的博客 9681

uniapp [全端兼容] - 实现集成配置百度语音识别转文字,长按或开启录音并将录音文件实时转换为文字,百度智能云API实现上传录音文件并转换成文字案例(苹果安卓App、微信小程序、移动端H5网页)

uniapp对接百度智能云语音识别,uniapp中实现语音识别(app+小程序),百度语音识别录音转文字_百度智能云,uniapp使用百度语音识别语音转文字,uniapp小程序调用百度语音识别,uni-app 百度语音识别文字并展示功能,uniapp配置自定义界面百度语音识别转文字和原生使用方式,uniapp使用百度语音,uni-app语音转文字功能,使用UniApp技术实现录音并将录音转换为文字,uniapp如何实现语音输入功能功能,Uniapp集成百度智能云API实现录音转文字详细教程完整示例代码dem

🏆 前端领域优质创作者 1万+

6、基因组数据可视化与甲基化分析:从基础操作到深入洞察

本文详细介绍了基因组数据可视化和全基因组DNA甲基化分析的方法和技术,包括基因组查看器(IGV)的基本操作、单核苷酸变异的可视化、DNA甲基化与CpG岛的关联分析、统计建模与显著甲基化区域识别,以及不同细胞系之间的甲基化模式差异分析。通过具体案例展示了如何利用MATLAB进行数据分析和可视化,为基因组研究、疾病机制探索及个性化医疗提供了技术支撑和实践参考。

qsc901234的博客 295

Java8日期类LocalDate、LocalTime、LocalDateTime使用详解

一文学会Java8新增日期类的各种使用方法

qq_44749491的博客 3万+

Dify智能体开发:Dify文件上传

相较于聊天文本,文档文件能够承载大量的信息,例如学术报告、法律合同。受限于 LLM 自身仅能够支持文件或图片,难以获取文件内更加丰富的上下文信息,应用的使用者不得不手动复制粘贴大量信息与 LLM 对话,增加了许多不必要的使用成本。

王国平的博客 2591

java优雅的处理日期时间,LocalDate、LocalTime、LocalDateTime使用

目录前言获取当前时间日期和时间格式化字符串与LocalDate、LocalTime、LocalDateTime之间的互换判断平年和闰年计算指定日期的月份有多少天比较两个时间的早晚计算两个时间相差多久比较两个日期的早晚计算两个日期相隔多久比较两个日期时间的早晚计算某年某月有几个星期五 前言 jdk8之前日期时间相关的操作大多用的是Date类或者Calendar类。 比如: Date date = new Date(); SimpleDateFormat df = new SimpleDateFormat("y

西凉的悲伤博客 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LocalDate、LocalTime、LocalDateTime

说明:代表本地日期、时间(年、月、日、星期、时、分、秒、纳秒)常用API(处理年、月、日、星期、时、分、秒、纳秒等信息)常用API (是处理时、分、秒、纳秒相关的)常用API(是处理年、月、日、星期相关的)说明:代表本地日期(年、月、日、星期)说明:代表本地时间(时、分、秒、纳秒)把某个信息加多少,返回新日期时间对象。把某个信息减多少,返回新日期时间对象。把某个信息加多少,返回新日期对象。把某个信息减多少,返回新日期对象。把某个信息减多少,返回新时间对象。修改某个信息,返回新日期时间对象。

2301_81718046的博客 2818

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java 日期时间(LocalDate、LocalTime、LocalDateTime)

LocalDate类的实例是一个不可变对象,它只提供了简单的日期,并不含当天的时间信息,这个类是不可变的和线程安全的。

yy139926的博客 8197

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Java 8+时间处理:LocalDateTime、LocalDate、LocalTime 深度解析

在 Java 8 之前,时间和日期的处理主要依赖于和。DateCalendarDateCalendar为了解决这些问题,Java 8 引入了新的时间日期 API(java.time包),该包采用了更现代的设计并且线程安全。LocalDate和LocalTime,并结合具体实例说明它们的使用方法和最佳实践。

WenZhang的博客 5662

【Java日期类Date、LocalDate、LocalTime、 LocalDateTime及转换】

目录日期类 Date世界标准时间 (GMT=UTC)获取日期对象及获取时间毫秒数的两种方法:Date对象获取所有日期数据Date对象获取年 月 日 时 分 秒时间补零占位方法抽取获取时间日期SimpleDateFormat实现日期格式化与时间字符串解析日期比较与标准时间转换日期比较标准时间转换时区转换与构造方法将时间毫秒数转为日期对象时区转换时间毫秒数转为日期对象 日期类 Date 世界标准时间 (GMT=UTC) GMT:格林威治标准时间 1900-01-01 00:00:00 从19 世纪中叶起,世界

Rita_zf的博客 5910

LocalDateTime,LocalDate,LocalTime和Date的相互转换

一、 二、LocalDateTime,LocalDate,LocalTime与Date的相互转换小实例 ①LocalDateTime与Date的相互转换 /** * LocalDateTime转Date * */ //获取当前时间 LocalDateTime localDateTime=LocalDateTime.now(); //获取系统默认是时区,如:Asia/Shanghai...

黎子爱发呆博客 1万+

Java日期时间(LocalDate、LocalTime、LocalDateTime)

Java中1.8之前有date类,date类到了1.8大部分的方法被弃而且date类如果不格式化可读性十分差,而simpledateformat方法中format和parse方法都是线程不安全的。Java1.8之后出现了localdate,localdatetime,localtime这些类,而这些类使用了final来修饰,使得这些类是不可变的,一旦实例化,值就固定了,有点类似于String类,所以这些类都是线程安全的。

qq_43842093的博客 4845

JAVA时间类型:Date、Calendar、LocalDate 、LocalTime、LocalDateTime、Instant的使用

Date、Calendar、LocalDate 、LocalTime、LocalDateTime、Instant常用API案例

学习学习学习 7931

关于LocalDate、LocalTime、LocalDateTime

关于LocalDate、LocalTime、LocalDateTime

why_wt的博客 6253

Java -----Date、LocalDate、LocalDateTime、LocalTime、时间戳 之间的相互转换

/ 注意 LocalDate 只能有年月日,格式化日期不能有时分秒,否则会报错。// 注意 LocalTime 只能有时分秒,格式化日期不能有年月日,否则会报错。// LocalDateTime 转 LocalDate。// LocalDateTime 转 LocalTime。// Date 转 LocalDateTime。// LocalDateTime 转 Date。// 时间戳 转 LocalDateTime。// Date 转 LocalDate。// LocalDate 转 Date。

mybatispl的博客 4119

java 时间转换之LocalDate,LocalTime ,LocalDateTime的使用篇二

上一篇说了 LocalDate,LocalTime ,LocalDateTime的基础使用; 本文主要是说LocalDate,LocalTime ,LocalDateTime的比较,特殊时间格式的处理,一段时间的获取 1、首先写一些基础方法 /** * 指定时间住那换为时间戳 * @param time 只能是时间格式,例如 HH:mm:ss、HH:mm、mm:ss 15:30:55、15:30、30:55 * @param formatter HH:mm:ss、HH:

Nade的博客 2548

12 - Java 日期时间( Date、Calenda 、LocalDate、LocalTime、LocalDateTime)

基于线程安全问题的考虑,Java1.8之后出现了localdate,localdatetime,localtime类,而这些类使用了final来修饰,使得这些类是不可变的,一旦实例化,值就固定了,这些类都在 java.time包中,并且是不可变的(线程安全的),表示日期、时间和日期时间的类。

阿垂的博客 1627

LocalDate、LocalTime 和 LocalDateTime

代表本地日期、时间(年、月、日、星期、时、分、秒、纳秒):代表本地日期(年、月、日、星期):代表本地时间(时、分、秒、纳秒)

m0_57463864的博客 1677
上一篇: 自定义相册并获取手机媒体库中视频文件和图片文件
下一篇: RecyclerView拖动之ItemTouchHelper.Callback的使用
nades
博客等级 码龄10年 80粉丝 100原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值