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

为什么此日期字符串未通过验证?

鲜于玮
2023-03-14

我试图执行OffsetDateTime.parse(mytext,dateTimeFormatter.ofpattern(mypattern)),它抛出了DateTimeParseException,无法从TemporalAccessor获得OffsetDateTime

共有1个答案

江育
2023-03-14

首先,您在案例中使用了错误的类offsetdatetime。既然您提到了timezone=“utc”,那么应该使用ZonedDateTime。请注意,使用以下注释后,生成的日期时间将类似于2020-03-07t04:11:20.000 UTC

@JsonFormat(shape=JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS z", timezone="UTC")

您可以使用模式yyyy-mm-dd't'hh:mm:ss.sss z将其解析为zoneddatetime

演示:

import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        String myPattern = "yyyy-MM-dd'T'HH:mm:ss.SSS z";
        String myText = "2020-03-07T04:11:20.000 UTC";
        System.out.println(ZonedDateTime.parse(myText, DateTimeFormatter.ofPattern(myPattern)));
    }
}
2020-03-07T04:11:20Z[UTC]
 类似资料:
  • 问题内容: SimpleDateFormat: 抛出的异常: 有任何想法吗? 编辑: 感谢您的快速解答。你们都是正确的,我只是错过了SimpleDateFormat文档中的一个关键句子-我可能应该把它称为一天。 问题答案: 从SimpleDateFormat javadocs : 月:如果图案字母的数目为3或更多,则将月份解释为文本;否则,将其解释为数字。 尝试使用“ MMM dd yyyy”之类

  • 我试图用Java解析一个日期字符串,但我得到了异常。 字符串如下所示: 我的方法是这样的: 我得到: java.time.format.DateTimeParseException:....在索引17中找到未分析的文本 有什么想法吗?:)

  • 问题内容: 最近开始使用WEB UI。并遇到了日期字符串解析/验证的问题。我发现“ dd-mm-yyyy”的一些方法是: 匹配-验证不完整,不灵活。 有人在帖子中建议使用可能的日期字符串对Set进行预初始化-快速,有效,但也不灵活且占用内存 有没有更简单的方法,也许可以在公共库中使用? 请不要建议SimpleDateFormat :) *Java 8的 *更新 正确答案是http://coding

  • 我想以“yyyy-mm-dd hh:mm:ss”的形式将字符串转换为joda DateTime。字符串应该是两种格式之一,“YYYY-MM-DD HH:MM:SS”或“YYYY-MM-DD”,尽管它是用户输入,所以如果它不是任何一种格式,我可能需要将其踢回。如何检查没有时间戳的情况并在其后面追加00:00:00?下面是给出完整日期和时间的情况下的代码。

  • 问题内容: 如何将字符串日期格式转换为日期,我的日期字符串格式为 接下来,我没有运气尝试。 以上所有语句都给出了解析错误。 问题答案: 请阅读的文档time.Parse: 该布局通过显示参考时间(定义为 2006年1月2日星期一15:04:05-0700 如果它是值,将被解释;它用作输入格式的示例。然后将对输入字符串进行相同的解释。 所以正确的格式是

  • 在PHP中,我需要检查一个字符串是否为以下格式: 其中x、y和z是整数。因此,字符串包含3个整数,由2个破折号分隔,规则如下: 验证这一点最简单的方法是什么?