当前位置: 首页 > 知识库问答 >
问题:

用截断的时区信息解析Java日期

拓拔嘉运
2023-03-14

请考虑以下日期字符串

  • 2012-10-01 01:02:03.004+0500

这在Java中可以使用以下simpledateformat模式识别:

  • yyyy-mm-dd hh:mm:ss.sssz
    null

有没有解决方法可以在不进行字符串预处理的情况下正确解析截断的时区?

如果不是,哪个正则表达式最适合在一轮中对大量此类日期字符串进行预处理,例如使用replacefirst()调用,就像这个类似的问题一样?

共有1个答案

孟花蜂
2023-03-14

我不知道没有字符串预处理的好解决方案,但如果replacefirst是可接受的,您可以使用以下代码段:

dateStr.replaceFirst("(?<=[+-]\\d\\d)$", "00")

此代码将两个0追加到以 (链接到ideone)结尾的字符串。

 类似资料:
  • 问题内容: 我有一个包含日期和时间信息的Java Date对象。我想编写一种方法来截断时间信息,将小时-分钟-秒数截断,所以只剩下日期了。 输入示例: 预期产量: 你有小费吗?我试图做这样的事情: 但我遇到了时区问题。 问题答案: 该 建议 的方式做日期/时间操作是使用对象:

  • 本文向大家介绍java 解析user-agent 信息,包括了java 解析user-agent 信息的使用技巧和注意事项,需要的朋友参考一下 解析http user-agent信息,使用uasparser-0.6.1.jar和jregex-1.2_01.jar两个包 运行结果: User-Agent信息通过浏览器自带工具可查看: 如下使用的是chrome浏览器 程序中static块,在初始化的时

  • 问题内容: 我有两个时间戳,它们以两种不同的格式描述同一时刻。 和。 我用Joda-Time用两个不同的日期格式解析时间戳。最后,我想有两个DateTime对象,它们在同一时刻相同。 DateFormatter提供了几种控制时区和语言环境的方法,但我无法使其正常工作。 这是我想工作的代码: 问题答案: 如果您的默认时间zome是Europe / Berlin,则2010-10-03 18:58:0

  • 问题内容: 我有解析日期的代码,如下所示: 一切正常,突然,这停止了。原来,管理员在服务器上进行了一些配置更改,并且当前返回的日期为“ 2010-12-27T10:50:44.000-08:00”,上述模式无法解析该日期。我有两个问题: 第一种是哪种模式将解析上述格式的JVM返回的日期(特别是时区为“ -08:00”)?其次,在Linux RHEL 5服务器上,究竟会在哪里更改此类设置,以便我们将

  • 问题内容: 我正在尝试解析格式的字符串 放入日期对象。我的代码如下: 但是我遇到了“解析错误”。我无法更改日期的输入格式,也无法将时区设置为静态值,因为此代码将在Andorid设备上运行。如何将这个字符串解析为date? 问题答案: 使用java.time框架(JSR 310),您可以执行以下操作: …打印: 2014-02-01T15:00:19 + 11:00 [澳大利亚/悉尼] 虽然我不确定

  • 我有两个字符串作为startDate和endDate。这些值如下所示,例如: 现在让我们说,这些都是在山区时间作为startDate一天的开始和endDate一天的结束。但由于这些是字符串,我如何让程序理解这些字符串可以转换为山区当地时间,如: 时区是动态的。我可以从东部时间或任何其他时区获得时间戳字符串。 更新 我意识到我应该输入更多的信息。 所以我输入的Moutain时间就是一个例子。它可以来