gpt4 book ai didi

java - 如何在Java中验证日期时间字符串格式 "2018-01-22T18:23:00.000Z"?

转载 作者:行者123 更新时间:2023-12-01 07:47:07 25 4
gpt4 key购买 nike

我需要在我的代码中验证 DateTime 的格式是否正确字符串2018-01-22T18:23:00.000Z是否有效。

正则表达式解决方案或任何其他解决方案都可以。有人可以帮助我这样做吗?

最佳答案

2018-01-22T18:23:00.000Z 是瞬间的 ISO 8601 格式。因此,您可以使用 Instant.parse("2018-01-22T18:23:00.000Z")。在字符串无效的情况下捕获 DateTimeParseException,因为字符串的格式错误或日期和时间无效(例如 13 月或 25 小时)。它也将接受 2018-01-22T18:23Z2018-01-22T18:23:00.000000000Z 。这对于大多数用途来说应该没问题,因为它在 ISO 8601 标准中仍然是允许的。

您可能想要添加范围检查。也许距离过去或 future 太远的时刻对于您的应用程序来说应该被视为无效。使用 Instant.isBefore() 和/或 Instant.isAfter()

不要使用正则表达式。对于那些维护代码的人来说,编写起来会很复杂,而且阅读起来非常复杂。如果您确实需要更详细的语法验证,请使用 Akshay Batra’s answer 中已经提到的 DateTimeFormatter .

关于java - 如何在Java中验证日期时间字符串格式 "2018-01-22T18:23:00.000Z"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49623597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com