消除 DateTimeFormat 和 Joda 的 DateTimeFormatter 之间细微的空白处理差异

2024-01-07

我们有一些现有的代码,如下所示:

DateFormat[] dateFormats = {
    new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z", Locale.ENGLISH),
    new SimpleDateFormat("d MMM yyyy HH:mm:ss Z", Locale.ENGLISH)
};

出于线程安全原因,我尝试将其转换为使用 Joda Time 的格式化程序,因此:

DateTimeFormatter[] dateFormats = {
    DateTimeFormat.forPattern("EEE, d MMM yyyy HH:mm:ss Z")
                  .withLocale(Locale.ENGLISH)
                  .withOffsetParsed(),
    DateTimeFormat.forPattern("d MMM yyyy HH:mm:ss Z")
                  .withLocale(Locale.ENGLISH)
                  .withOffsetParsed()
};

然而,令我惊讶的是现有的测试用例被破坏了。特别是(至少是导致测试失败的第一行):

String dateString = "Wed,  1 Feb 2006 21:58:41 +0000";

DateFormat 很乐意匹配逗号后的两个或多个空格,但 DateTimeFormatter 只匹配字面上的单个空格。

我可能可以添加一种允许额外空间的附加格式,但必须这样做有点可怕,所以有没有某种方法可以自定义 DateTimeFormatter 以更轻松地处理空格?


我认为在解析之前处理输入字符串要容易得多

str = str.replaceAll("  +", " ");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

消除 DateTimeFormat 和 Joda 的 DateTimeFormatter 之间细微的空白处理差异 的相关文章

随机推荐

  • Java中如何检测字符集编码?

    有谁知道是否有一种简单的方法来检测Java中的字符集编码 在我看来 有些程序能够检测给定的数据使用哪个字符集 或者至少能够进行近似 我想底层机制必须解码每个字符集中的数据 并选择具有最少未定义字符的字符集 然后选择哪个字符集更常见以打破平局
  • 如何使用node.js和Request包禁用HTTP标头中的“withcredentials”?

    使用 Node js 和Request https github com mikeal request来自浏览器的包 通过浏览器化 http browserify org 我使用 CORS 在单独的域上执行 HTTP GET 请求 在服务器
  • Python 列表可变

    我试图使用Python术语来解释为什么会发生以下情况 有人可以解释为什么吗tmp变成 1 2 3 不保持原样 1 2 arr tmp 1 2 arr append tmp print arr 1 2 tmp append 3 print a
  • 用户注销后 PHP 会话不会销毁

    我正在尝试为我的 PHP 应用程序创建身份验证机制 但我很难销毁会话 我尝试取消设置先前在会话数组中设置的身份验证令牌 并通过以下方式销毁会话 session destroy 以及在销毁会话之前完全重置会话数组 我正在调用标头函数 并在函数
  • 为什么 php 将空字节添加到私有和受保护的属性名称中?

    我是 PHP 世界的新手 并从中学习php net http php net 我知道 当将对象转换为数组时 会在私有和受保护的属性名称周围添加空字节班级名称 or 星号键 附加在数组键中私有和受保护的属性名称之前 但我的问题是WHYphp
  • 如何在运行时计算代码的校验和?

    我有一个在计算机上运行的 C NET 应用程序 如何在运行时计算整个代码的校验和 Note 我不想计算正在使用的图像的校验和 而是计算实际的代码部分 我从来没有用过这个 但是 使用反射 您可以导航到获取ILAsByteArray http
  • 编译循环依赖是如何工作的?

    我用 Java 制作了这个示例 但我认为 未经测试 它也适用于其他 所有 语言 您有 2 个文件 第一的 M java public class MType XType x MType x null 其次 另一个文件 在同一目录中 XTyp
  • GHz 至 MIPS?有人粗略估计一下吗?

    从迄今为止我所做的研究中 我了解到 MIPS 高度依赖于正在运行的应用程序或语言 但是谁能给我对 MIPS 中 2 5 Ghz 计算机的最佳猜测 或者任何其他数量的 Ghz C 如果有帮助的话 MIPS 代表 每秒百万条指令 但对于现代计算
  • 显示 Android 的返回堆栈

    为了更好地理解 Android 的行为 我想了解有关返回堆栈概念的更多信息 有没有一种方法可以按返回堆栈中的顺序列出所有活动 这还应该包括所有其他正在运行的任务 我发现 Android Studio 0 5 1 中提供了此信息 查看 gt
  • 如何在android中使用itext库阅读pdf

    我是安卓世界的新手 我厌倦了使用 eclipse IDE 创建一个 android 项目 其中我尝试在 itext 库的帮助下阅读 pdf 文件 该 pgm 未显示任何输出 请告诉我如何更正代码 以便我可以从项目中 Assets 文件夹中存
  • dataLayer.push后数据什么时候发送到google

    我有一个单页电子商务应用程序 需要设置谷歌电子商务渠道 我的应用程序在跟踪代码管理器数据层中设置漏斗步骤 文档中没有任何内容表明数据层实际发送到 Google 跟踪代码管理器的时间 window dataLayer 使用以下内容开始页面 e
  • 如何/可以在 Jasper 报告模板中使用 base64 作为图像源?

    所以在我的 jrxml 文件中我有以下内容
  • PHP 5.3 中 ++ 运算符的奇怪行为

    观看以下代码 a Test echo a 这将输出 Tesu 问题是 为什么 我知道 u 在 t 之后 但为什么它不打印 1 PHP 文档 此外 变量正在递增 或递减将转换为 适当的数值数据 类型 因此 下面的代码将 返回 1 因为字符串
  • 最小化多个仓库发货数量的算法

    我在美国有 10 个仓库 他们每个人可能有也可能没有产品 A B C D E 库存 有人从我的网站订购了全部五件商品 我想尽量减少发送的货件数量 如何确定哪些物品要从哪些仓库发货 例如 某人订购了 A B C D 和 E 我在纽约有 A 和
  • XSL - 评估条件表达式是否是“捷径”?

    给定 XSL If 语句
  • slf4j 没有 toString()

    当你做类似的事情时LOG debug Exported product 在 slf4j 中 它最终会在参数上调用 toString 例如product 由于某些原因 我无法在要用作参数的所有类上重写 toString 有些类来自第三方 ja
  • Angular $locationProvider 与 ASP.NET MVC 路由

    我正在使用 ASP NET MVC 使用 RouteCollection 类 处理路由 但我的前端是用 Angular 编写的 在某些地方我想使用 Angular 的 location 更改 url 并且我希望它支持 HTML5 所以我将这
  • QTimer::singleShot() 在给定对象的父类中查找指定的槽,而不是对象本身

    我对 Qt 还很陌生 我对现有的 Qt 应用程序做了一些简单的修改 但还没有从头开始创建任何应用程序 一般来说 我对 C 的某些方面 类继承等 也没有太多经验 我创建了一个新的基于 Qt4 的 Code Blocks 项目并对模板进行了一些
  • pandas DataFrame 到 html,使用内联样式而不是 CSS

    我正在尝试将 pandas DataFrame 作为 HTML 作为电子邮件的一部分发送 我试图使用类似的东西 import pandas as pd df pd DataFrame 1 1 2 3 2 4 5 6 def style ma
  • 消除 DateTimeFormat 和 Joda 的 DateTimeFormatter 之间细微的空白处理差异

    我们有一些现有的代码 如下所示 DateFormat dateFormats new SimpleDateFormat EEE d MMM yyyy HH mm ss Z Locale ENGLISH new SimpleDateForma