Java8新增的DateTimeFormatter与SimpleDateFormat的区别

Java8新增的DateTimeFormatter与SimpleDateFormat的区别两者最大的区别是 Java8 的 DateTimeForm 是线程安全的 而 SimpleDateFo 并不是线程安全 packagecom main importjava text DateFormat importjava text SimpleDateFo importjava time LocalDate importjava time Loca

两者最大的区别是,Java8的DateTimeFormatter是线程安全的,而SimpleDateFormat并不是线程安全。

package com.main; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Date; public class Main { public static void main(String args[]){ //解析日期 String dateStr= "2016年10月25日"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日"); LocalDate date= LocalDate.parse(dateStr, formatter); //日期转换为字符串 LocalDateTime now = LocalDateTime.now(); DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy年MM月dd日 hh:mm a"); String nowStr = now .format(format); System.out.println(nowStr); //ThreadLocal来限制SimpleDateFormat System.out.println(format(new Date())); } //要在高并发环境下能有比较好的体验,可以使用ThreadLocal来限制SimpleDateFormat只能在线程内共享,这样就避免了多线程导致的线程安全问题。 private static ThreadLocal 
  
    threadLocal = new ThreadLocal 
   
     () { @Override protected DateFormat initialValue() { return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); } }; public static String format(Date date) { return threadLocal.get().format(date); } } //2017年07月09日 12:03 下午 //2017-07-09 12:03:11 
    
  

Java8新增的DateTimeFormatter与SimpleDateFormat的区别

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/211662.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午9:54
下一篇 2026年3月18日 下午9:55


相关推荐

  • p2p流媒体技术(简述流媒体的特点)

    【前言】今天发现二哥在搞流媒体,顿时来了兴趣(之前在考试维护的时候经常听老师说P2P等),追问之下之前林哥搞成功过,而且写了一系列博客;于是乎便翻开博客,认真看了看,写的非常不错:从概念到安装实现(linux和windows)再到性能测试对比非常不错(详见:http://blog.csdn.net/u012407484/article/category/2732453);…

    2022年4月18日
    94
  • web基础知识_Web开发基础

    web基础知识_Web开发基础传统身份验证的方法:HTTP是一种没有状态的协议,也就是它并不知道是谁是访问应用。这里我们把用户看成是客户端,客户端使用用户名还有密码通过了身份验证,不过下回这个客户端再发送请求时候,还得再验证一下。解决的方法就是,当用户请求登录的时候,如果没有问题,我们在服务端生成一条记录,这个记录里可以说明一下登录的用户是谁,然后把这条记录的ID号发送给客户端,客户端收到以后把这个ID号存储在C…

    2025年11月9日
    7
  • 元器件——稳压管Zener的应用总结(稳压原理与应用、主要参数、限流电阻如何选取)

    元器件——稳压管Zener的应用总结(稳压原理与应用、主要参数、限流电阻如何选取)0 引言稳压管是比较常用的一种二极管了 当输入电压波动或负载有变化时 稳压管可以调节使电压稳定 这里不造新轮子 主要记录下知识点 值得一提的是常常被忽视的限流电阻的选取 本文重点介绍下 1 稳压管工作原理稳压管既可以做基准电压 精度要求不高的 也可以在负载电流很小的场合做电源使用 下面是一个简单的稳压管应用电路 R1 为限流电阻 D1 为稳压管 RL 为负载 RL 负载两端的电压 Uo 和 D1 稳压管两端的电压相等

    2026年3月19日
    3
  • CentOS7 安装 oracle 10g

    CentOS7 安装 oracle 10g先安装 vnc 因为本次使用的是图形界面按照 可参考 nbsp https blog csdn net article details 在关闭 selinux 及防火墙修改 Linux 发行版本信息由于 Oracle10g 发行的时候 CentOS6 7 没有发行 所以 Oracle10g 并没有对 CentOS6 7 确认支持 需要修改文件让 Oracle10g 支

    2026年3月26日
    2
  • vmware15激活码[在线序列号]

    vmware15激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    351
  • Mac下Pycharm的快捷键

    Mac下Pycharm的快捷键Mac 下 Pycharm 的快捷键

    2026年3月27日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号