gpt4 book ai didi

java - 由数字文字后缀的 DateTimeFormatter 模式仅在模式中存在空格时才有效

转载 作者:行者123 更新时间:2023-11-30 06:40:26 25 4
gpt4 key购买 nike

我看到了一些类似的问题,并且已经针对此类问题修复了错误。现在我想知道我是否做错了什么,或者这个案例仍然没有被覆盖。我的问题是我必须解析一个日期后跟零,所以模式将是 yyyyMMdd'0000'。但是它失败了,但是如果我在其中放置一个空格,它就可以工作:yyyy MMdd'0000'

    DateTimeFormatter formatter = new DateTimeFormatterBuilder().appendPattern("yyyy MMdd'0000'").toFormatter().withResolverStyle(ResolverStyle.STRICT);
System.out.println(formatter.parse(formatter.format(ZonedDateTime.now())));
formatter = new DateTimeFormatterBuilder().appendPattern("yyyyMMdd'0000'").toFormatter().withResolverStyle(ResolverStyle.STRICT);
System.out.println(formatter.parse(formatter.format(ZonedDateTime.now())));

我知道我可以用小时和分钟模式替换文字部分,它会起作用,但我想将它用作输入的 validator 机制,因此它应该在其他值上失败,而无需额外编码.我用 Oracle JDK 1.8.0_221 和 OpenJDK 13+33 试过了

谢谢!

最佳答案

你几乎明白了。只需执行 MMMM

formatter = new DateTimeFormatterBuilder()
.appendPattern("yyyyMMMMdd'0000'")
.toFormatter()
.withResolverStyle(ResolverStyle.STRICT);

关于java - 由数字文字后缀的 DateTimeFormatter 模式仅在模式中存在空格时才有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58082753/

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