Java8开始, JDK中其实就增加了一系列表示日期和时间的新类,最典型的就是 LocalDateTime。直言不讳,这玩意的出现就是为了干掉之前 JDK版本中的 Date老哥!

同样,我们也先来感受一下用法!

一、获取当前此刻的时间

 * 测试LocalDateTime的用法*/
public class LocalDateTimeTest {public static void main(String[] args) {LocalDateTime localDateTime = LocalDateTime.now();System.out.println("当前年份:" + (localDateTime.getYear()-4)); // 2020System.out.println("当前日份:" + localDateTime.getDayOfMonth()); // 11System.out.println("--------------------");String result1 = localDateTime.format(DateTimeFormatter.ISO_DATE);String result2 = localDateTime.format(DateTimeFormatter.BASIC_ISO_DATE);String result3 = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd 00:00:00"));System.out.println("格式化后的日期result1:" + result1);System.out.println("格式化后的日期result2:" + result2);System.out.println("格式化后的日期result3:" + result3);}
}

测试结果:

二、线程安全性问题

其实以前我们惯用的 Date时间类是可变类,这就意味着在多线程环境下对共享 Date变量进行操作时,必须由程序员自己来保证线程安全!否则极有可能翻车

而自 Java8开始推出的 LocalDateTime却是线程安全的,开发人员不用再考虑并发问题,这点我们从 LocalDateTime的官方源码中即可看出:

三、日期格式化的选择

大家除了惯用 Date来表示时间之外,还有一个用于和 Date连用的 SimpleDateFormat 时间格式化类大家可能也戒不掉了!

SimpleDateFormat最主要的致命问题也是在于它本身并不线程安全,这在它的源码注释里已然告知过了:

那取而代之,我们现在改用什么呢?其实在前文已经用到啦,那就是了 DateTimeFormatter了,他也是线程安全的:

localdatetime 格式化_LocalDateTime取代Data处理时间问题相关推荐

  1. Spring Boot——LocalDateTime格式化配置

    在项目中日期格式化是最常见的问题,之前涉及的 java.util.Date 和 java.util.Calendar 类易用性差,不支持时区,非线程安全,对日期的计算方式繁琐,而且容易出错,因为月份是 ...

  2. 如何在Java 8中使用LocalDateTime格式化/解析日期-示例教程

    Java项目中的常见任务之一是将日期格式化或解析为String,反之亦然. 解析日期表示您有一个表示日期的字符串,例如" 2017-08-3",并且要将其转换为表示Java中日期的 ...

  3. LocalDateTime格式化日期

    在java8之前我们在处理时间的时候都是用的Date,但它其实有很明显的缺点. 1.我们也会对日期做一些操作,比如加几天,加几分,当月的最后一天等等,有些计算比较复杂. 2.也会用SimpleData ...

  4. Java日期类 util.Date sql.Date Calendar LocalDateTime 格式化 DateFormat DateTimeFormatter

    java 日期类 java.util.Date Date有两个附加功能. 它允许将日期解释为年,月,日,小时,分钟和第二个值. 它还允许格式化和解析日期字符串. 但这些功能的API不适合国际化. 从J ...

  5. localdate转date时区问题_时间戳和LocalDateTime和Date互转和格式化

    一 前言 二 时间戳与LocalDateTime互转 2.1 LocalDateTime 转 时间戳 方式一 这边值得一提的是在中国的时区偏移是8小时,本次示例转的时间戳是秒级别,得到的值是一个lon ...

  6. php中data(,如何使用php中的data函数

    在php中可以通过设置data函数里中的参数来对日期和时间进行格式化来获取时间和日期 [推荐课程:PHP教程] 在php中可以使用date() 函数对日期和时间进行格式化.在data函数中它的第一个参 ...

  7. python字符串格式化方法 format函数的使用

    python从2.6开始支持format,新的更加容易读懂的字符串格式化方法, 从原来的% 模式变成新的可读性更强的 花括号声明{}.用于渲染前的参数引用声明, 花括号里可以用数字代表引用参数的序号, ...

  8. php json 美化,php JSON数据格式化(美化)的方法

    一.使用 json_encode 输出<?php header('content-type:application/json;charset=utf8'); $arr = array( 'sta ...

  9. oracle 日期格式化 修改_java学习笔记:时间日期类

    一.Date类 Date类表示时间日期类,属于java.util包,使用需要导包.需要了解的是,计算机中时间原点为:1970年1月1日 00:00:00,了解一下这个时间就好.时间换算单位为:1秒 = ...

  10. 【ES8系列】String 补白、格式化

    // 业务场景小于10补0 for (let i = 1; i < 32; i++) {if (i < 10) {console.log(`0${i}`)} else {console.l ...

最新文章

  1. mysql主从结构主数据库_mysql主从结构主数据库
  2. stopImmediatePropagation函数和stopPropagation函数的区别
  3. Debug.startMethodTracing() 没有生成trace文件
  4. 挂代理无法访问网页了怎么办_微信H5网页授权
  5. 利用虚拟硬盘(把内存当作硬盘)来提高数据库的效率(目前只针对SQL Server 2000)可以提高很多...
  6. [Web Chart系列之四] 图形布局-Layout 之js设计实现
  7. Java入门的程序汇总
  8. 问题解决:AttributeError: 'module' object has no attribute '_rebuild_tensor_v2'
  9. 网页多种资源下载插件
  10. 计算机关机的DOS命令是,如何设置电脑自动关机dos指令
  11. 屁孩君儿子讲解 2022 【例4.7】最小n值
  12. raspberrypi连接神经计算棒人脸识别
  13. mysql提示2002错误的解决方法
  14. matlab的积分函数
  15. 函数相乘和相除的导数及证明
  16. 全球跨境电商平台有哪些?中国卖家占多少?
  17. 21年Android面经分享,大厂面试题汇总
  18. 数字图像处理-美图秀秀:瘦脸算法
  19. 人工智能( AI )将如何颠覆项目管理?看看这六大关键领域
  20. 简述计算机键盘上shift键的作用,计算机键盘上的【Shift】键称为( )。

热门文章

  1. 毕设题目:Matlab图像修复
  2. 2021全国研究生数学建模竞赛D题思路
  3. 【优化算法】蝴蝶优化算法(MBO)【含Matlab源码 952期】
  4. 【图像处理】基于matlab GUI视频处理系统【含Matlab源码 756期】
  5. 语义分割空间上下文关系_多尺度空间注意的语义分割
  6. pathlib2 Path glob rglob的最新研究成果
  7. gcc for linux安装失败,安装错误的gcc导致一些错误
  8. java报错: 类重复: newemission.calculate_java当中的继承(一)
  9. java开发mac pro_苹果三款神秘 Mac 现身 macOS Big Sur 11.0.1 beta
  10. php单例模式详解,PHP 单例模式解析和实战