java.text.ParseException:使用 Clock.systemUTC() 时出现无法解析的日期错误[重复]

2024-01-29

我在解析日期时遇到解析错误

java.text.ParseException:无法解析的日期:“2021-06-17T05:49:41.174Z” 无法解析的日期:“2021-06-17T05:49:41.174Z”

我的代码看起来像这样

private static String generateAndValidate(int count) {
        Clock clock = Clock.systemUTC(); 
        String clockTime=clock.instant().toString();
        String result=clockTime;
        SimpleDateFormat output = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ",Locale.ENGLISH);
        try {
            output.parse(clockTime);
        } catch (ParseException e) {
            System.out.println("process date parse error. Going for retry.");
            
        }
        return result;
    }

还尝试在这里对值进行硬编码

SimpleDateFormat output = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ",Locale.ENGLISH);
        try {
            output.parse("2021-06-17T05:49:41.174Z");
        } catch (ParseException e) {
            System.out.println("process date parse error. Going for retry.");
            
        }

可能是什么问题呢?


编辑:代码失败的原因在@GS3给出的答案中!

我的回答提供了通常被认为是最新的替代方案:

我不建议使用java.text.SimpleDateFormat在这里,因为您使用的是一个非常古老且几乎过时的 API,而您正在通过使用现代 API 来接收时间java.time.Clock.

一个好的举措是使用java.time.format.DateTimeFormatters 用于解析,但我认为你甚至可以跳过时钟并使用OffsetDateTime.now(ZoneOffset.UTC).

但是,这段代码肯定会解析String由你的第一行产生:

public static void main(String[] args) {
    // your first two lines
    Clock clock = Clock.systemUTC();
    String clockTime = clock.instant().toString();
    // a hint to the problem
    System.out.println(clockTime + " <--- 6 fractions of second");
    // how to parse a String like that in plain java.time
    OffsetDateTime odt = OffsetDateTime.parse(clockTime);
    System.out.println(odt.format(
                            DateTimeFormatter.ISO_OFFSET_DATE_TIME
                            )
    );
}

其输出如下所示(显然具有不同的值):

2021-06-17T06:34:55.490370Z <--- 6 fractions of second
2021-06-17T06:34:55.49037Z

使用的输出DateTimeFormatter.ISO_OFFSET_DATE_TIME只是一种选择,您仍然可以使用DateTimeFormatter.ofPattern(yourPatternString), a DateTimeFormatterBuilder为了处理可选部分或其他内置格式化程序之一。

如果您只想获取当前时刻并将其存储在某个日期时间类中,您可以使用now()方法中的日期时间类java.time have:

OffsetDateTime now = OffsetDateTime.now(ZoneOffset.UTC);

看起来很适合这里,但是有一个ZonedDateTime, too.

看看吧java.time...

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

java.text.ParseException:使用 Clock.systemUTC() 时出现无法解析的日期错误[重复] 的相关文章

随机推荐

  • 软键盘推送布局

    我一直在尝试许多解决方案来防止软键盘出现时推动我的布局 然而 所有的解决方案都不起作用 简而言之 我希望布局中的所有内容 按钮 imageViews 背景 textViews textEdits 在显示软键盘时保持在原位 我不关心它会涵盖什
  • 为什么 Flutter Web 中的按钮没有边距?

    我有以下代码 Scaffold appBar AppBar title Text Test body Center child Column mainAxisAlignment MainAxisAlignment center childr
  • 使用嵌套数组合并两个字典

    我有 2 本词典 a I 1 2 II 1 2 III 1 2 b I 3 4 II 3 4 IV 3 4 我怎样才能合并它们以获得以下结果 c merge dicts a b 其中 c 是 I 1 2 3 4 II 1 2 3 4 III
  • 抽象和概括有什么区别?

    我理解抽象就是把更具体的东西变得更抽象 该东西可能是数据结构或过程 例如 数据抽象 矩形是正方形的抽象 它集中于正方形有两对相对边的事实 而忽略了正方形的相邻边相等的事实 程序抽象 高阶函数map是一个过程的抽象 该过程对值列表执行某些操作
  • 在 Glass GDK 沉浸式应用程序中打开活动时如何使屏幕变亮?

    我有一个 GDK 沉浸式应用程序 其中启动器Activity获得一个SCREEN DIM WAKE LOCK WakeLock 该应用程序还有一个服务 它将接收聊天消息并启动Intent for an Activity显示每一个 每当消息A
  • HTML5 输入类型=日期:我可以使用 JavaScript 打开/关闭日期选择器吗?

    我正在尝试自定义 HTML5 输入 type date 元素 我想添加一个单独的按钮 单击该按钮将切换日期选择器下拉列表的可见性 我找不到任何这方面的信息 非常感谢任何帮助 这是我使用 CSS 制作的解决方案 webkit box sizi
  • 如何检查某个字是否被 PHP 保留?

    有没有一些函数可以检查一个单词是否是reserved http www php net manual en reserved keywords php在 PHP 中还是我可以自己使用它 我可以手动检查它 只需使用它并查看错误或警告 但我需要
  • 从 XSD 生成 Go 结构

    最近打算用Go做一个项目 我的问题是 给定一个 XSD 文件 如何在 Go 中自动生成结构来表示 XML 元素 它类似于使用 xjc 从 XSD 生成 java 类 那么Go中有没有任何工具或包可以做到这一点呢 提前致谢 看起来它可能需要一
  • 从外部连接到 docker 容器中的 Postgresql

    我在 Docker 容器的服务器上有 Postgresql 如何从外部 即我的本地计算机 连接到它 我应该应用什么设置来允许这样做 您可以通过这种方式运行 Postgres 映射端口 docker run name some postgre
  • 将 java 系统属性传递给 ant 测试

    我让 ant 使用以下代码执行 jar
  • 轮播引导程序中的拉伸图像

    我正在使用 Bootstrap 4 那里有一个带有图片的轮播 图像一直显示拉伸 不知道出了什么问题 carousel margin bottom 4rem position relative carousel caption bottom
  • 在非常大的树上执行 DFS 的最佳方法是什么?

    情况是这样的 应用世界由数十万个状态组成 给定一个状态 我可以计算出一组 3 或 4 个其他可到达的状态 一个简单的递归可以构建一个状态树 它会变得非常大且非常快 我需要从根状态到该树中的特定深度执行 DFS 以搜索包含 最小 状态的子树
  • Dalvik 和 Android 工具链可以带来哪些优化?

    我正在开发一个高性能 Android 应用程序 一款游戏 虽然我首先尝试编写代码以提高可读性 但我喜欢在脑海中保留一幅幕后发生的事情的图片 通过 C 我对编译器能为我做什么和不能做什么有了相当好的直觉 我正在尝试为 Java Android
  • 使用 std::vector 调用 std::lock ()

    我想将以下代码替换为std lock for mutex m mutexes m gt lock 无论如何我可以调用std lock 在那些给定的互斥体上std vector
  • 如何在 ActiveSupport::TestCase 中存根方法

    In RSpec我可以像这样存根方法 allow company to receive foo 300 我怎样才能存根一个方法ActiveSupport TestCase 我有一个这样的测试 class CompanyTest lt Act
  • 对文件中所有奇数行求和的 Pythonic 方法

    我正在学习 Python 以便参加研究生院的编程分班测试 这实际上是我为了感受它而编写的第一个小脚本 我的背景主要是C 和PHP 但是我在测试中不能使用任何一种语言 我的测试脚本读取以下文本文件 test file1 txt 偶数行包含样本
  • 应该如何创建一个可能抛出异常的 akka actor?

    我正在将一个项目从 scala Actor 迁移到 Akka Actor 我曾经有过类似的情况 如果某个系统资源不可用 MyActor 的构造函数可能会抛出异常 var myActor MyActor null try myActor ne
  • 如何制作基本的 FullCalendar 自定义视图

    下面的代码来自 FullCalendar 的自定义视图 https fullcalendar io docs views Custom Views 文档 这似乎是一个很好的开始 但是对于像我这样的新手来说 拥有一些呈现最简单的自定义视图 带
  • 仅将最后一个 shell 命令的标准输出放入 Python 变量中[重复]

    这个问题在这里已经有答案了 prova sh 包含 bin bash echo Output that I don t want echo Output that I don t want echo Output that I don t
  • java.text.ParseException:使用 Clock.systemUTC() 时出现无法解析的日期错误[重复]

    这个问题在这里已经有答案了 我在解析日期时遇到解析错误 java text ParseException 无法解析的日期 2021 06 17T05 49 41 174Z 无法解析的日期 2021 06 17T05 49 41 174Z 我