使用 ThreadLocal 进行日期转换

2023-11-22

我需要将传入日期字符串格式“20130212”(YYYYMMDD) 转换为 12/02/2013 (DD/MM/YYYY)

using ThreadLocal。我知道一种无需ThreadLocal。谁能帮我?

转换无ThreadLocal:

    final SimpleDateFormat format2 = new SimpleDateFormat("MM/dd/yyyy");
    final SimpleDateFormat format1 = new SimpleDateFormat("yyyyMMdd");
    final Date date = format1.parse(tradeDate);
    final Date formattedDate = format2.parse(format2.format(date));

这背后的想法是 SimpleDateFormat 不是线程安全的,因此在多线程应用程序中,您无法在多个线程之间共享 SimpleDateFormat 的实例。但由于创建 SimpleDateFormat 是一项昂贵的操作,我们可以使用 ThreadLocal 作为解决方法

static ThreadLocal<SimpleDateFormat> format1 = new ThreadLocal<SimpleDateFormat>() {
    @Override
    protected SimpleDateFormat initialValue() {
        return new SimpleDateFormat("yyyy-MM-dd");
    }
};

public String formatDate(Date date) {
    return format1.get().format(date);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ThreadLocal 进行日期转换 的相关文章

随机推荐

  • 带有 pandas 的多个堆叠条形图

    我正在尝试用 pandas 制作多个堆叠条形图 但遇到了问题 这是示例代码 import pandas as pd df pd DataFrame a 10 20 b 15 25 c 35 40 d 45 50 index john bob
  • IE8/9 中的 CORS 与 jQuery 和 XDomainRequest

    UPDATE 我强烈建议不要在 XDomainRequest 上投入任何时间 因为它是一个非常糟糕的实现 有很多限制 它基本上只适用于对非 ssl 服务器的 GET 请求 所以你不妨使用 jsonp 或其他什么 我正在使用 CORS 调用跨
  • 使 TinyMCE 图像选择对话框指向 Plone 上的默认文件夹

    克隆人 4 1 使 TinyMCE 图像选择器对话框指向站点默认文件夹 image bank 而不是当前文件夹的最简单方法是什么 这个 文件夹显示为相册将为 Plone 轻松提供基本的图像库支持 我希望能够实现这个功能 所有 Plone 开
  • SSIS - 再次出现内存不足错误

    我有 cca 25 个数据库 需要将其合并为 1 个数据库 首先 我尝试构建一个 ssis 包 它将每个表中的所有数据复制到一个地方 但随后出现错误 信息 缓冲区管理器的内存分配调用失败 10485760 字节 但无法交换任何缓冲区来缓解
  • 可能的 Java 编译器错误!程序无法使用某些编译器编译

    首先 介绍一点背景知识 如果不感兴趣 可以跳过一点 我很生气又很困惑 这应该是一个非常简单的用例 而且确实是我的代码has使用 Eclipse JDT 编译器编译得很好 所以到目前为止我一直在配置 Maven 以确保做到这一点 尽管它不能使
  • Python 装饰器对递归函数进行计时

    我有一个简单的装饰器来跟踪函数调用的运行时 def timed f def caller args start time time res f args end time time return res end start return c
  • 在VS 2015社区版中将.Net框架从4.5.2更改为4.5时出现编译错误

    在 VS 2015 社区版中将我的 Net 框架从 4 5 2 更改为 4 5 后 我收到以下错误 有谁知道问题是什么以及如何解决这个问题 看起来编译版本不同 但我已经将 web config 修改为 4 5 应用程序中的服务器错误 编译错
  • Apollo 2.0.0 Graphql cookie 会话

    有人可以帮助我吗 在 Apollo 2 0 之前我的设置如下 我有一个 server js 其中使用了express和graphql server express 我有一个仅 http 的 cookie 会话 当用户登录时 我将 jwt 令
  • R 在多个数据框列中查找值

    给定一个数据集 其中值可以位于数据帧中任意一组列中 df lt data frame h1 c a b c a a b c h2 c b c d b c d b h3 c c d e e e d c 如何获得指定哪些行包含目标值的逻辑向量
  • 将 Amazon RDS 表名称重命名为大写字母会引发错误

    我将 MySQL 数据库表导入到 Amazon RDS 我的问题是我的查询不再有效 并且收到错误消息 表明我的表 文件夹 不存在 原因是表名不全是小写 导致查询抛出这个错误 有没有一种方法可以使用 MySQL Workbench 针对 Am
  • 如何删除最后一个字符

    如何删除字符串的最后一个字符substring或者什么 例如 var query String begin query test 1 line 5 end 输出必须是 query gt test1 line 5 第三个选项是这样的 SetL
  • Python 中使用 pop() 进行列表操作

    简而言之 我需要根据索引从列表中删除多个项目 但是 我不能使用 pop 因为它会改变索引 没有一些笨拙的补偿系统 有没有办法同时删除多个项目 我有一个遍历列表的算法 如果条件正确 则通过 pop 方法删除该项目 由于这一切都是在循环中完成的
  • 错误 file_get_contents():读取 8192 字节失败,errno=21

    我有一个简单的脚本 它在每个子文件夹的每个文件中搜索给定的字符串 它工作得很好 直到我相信我的 PHP 已更新 我不太确定是否是因为这个 这是代码
  • 重叠两个盒子喷气背包组成

    我试图重叠两个Box或者也许更好用Row关于这个案子 我的设计是一个Row与另一个重叠 我把它包裹在一个Column 那是对的吗 这就是设计 我想要的是顶部的矩形与下面的矩形大小相同 然后将其移动一些像素 如图所示 但它们应该具有相同的宽度
  • 如何将自定义协议映射到 Mac 上的应用程序?

    我正在尝试向 Mac 上的应用程序注册自定义协议 即 用户点击 abcdef some url here 链接 已安装的应用程序将启动 并将上述字符串作为第一个参数传递 我已经使用此问题中的信息在 Windows 上成功完成了此操作 如何创
  • ASP.NET MVC 6 中 FilterAttribute 内的依赖注入

    我正在努力使用 ASP NET MVC 6 beta 4 版本 尝试在类型的控制器过滤器属性中注入服务AuthorizationFilterAttribute 这是服务 它注入了另一个服务 public class UsersTableRe
  • Chrome 扩展中的同步消息传递?

    我试图阻止脚本文件在用户定义的网站上加载 阻止我正在使用的脚本文件beforeload event and event preventDefault 在内容脚本中 只要我已经知道网站列表 它就可以正常工作 我的问题是我事先不知道网站列表 因
  • 如何在 Windows 7 中从代理后面使用 sbt?

    我正在尝试跑步SBT on Windows 7的 为此 我按照类似线程中的步骤进行操作 如何从代理后面使用 sbt 我有以下相关的 系统变量 变量名称 JAVA OPTS变量值 Dhttp proxySet true Dhttp proxy
  • 如何在 IIS 管理器中为 ASP.NET 4.0 应用程序添加用户?

    我已在 IIS 7 5 中安装了 ASP NET 4 0 Web 表单应用程序 如果我将应用程序池设置为默认应用程序池 NET Framework 2 0 我得到的图标提供商 NET 角色和 NET 用户显示在 IIS 管理器中应用程序的配
  • 使用 ThreadLocal 进行日期转换

    我需要将传入日期字符串格式 20130212 YYYYMMDD 转换为 12 02 2013 DD MM YYYY using ThreadLocal 我知道一种无需ThreadLocal 谁能帮我 转换无ThreadLocal final