gpt4 book ai didi

java - 在 SimpleDateFormat 中包含通配符

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

我想要一个 Java 中的 DateFormatter,以便我可以在日期表达式中指定一些特殊字符和数字。例如:

String dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS zzz";

这里 dd 用于指定月份中的某一天,它是数字。但我需要创建一个日期,如下所示:

 String stringDate = "2017-12-??T00:00Z";
SimpleDateFormat formatter = new SimpleDateFormat(dateFormat);
formatter.parse(stringDate);

我收到一个无法解析的异常,因为此处指定的日期是 ?? 。有没有解决方法,或者我必须编写一个新的解析器?

谢谢

最佳答案

尝试使用单引号转义附加文字

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-'??T'HH:mm:ss.SSS zzz");

此外,给定的值和格式应该匹配(可以根据需要编辑字符串日期),在您的情况下,以下语法将起作用。

String stringDate = "2017-12-??T00:00Z";
Date date = (new SimpleDateFormat("yyyy-MM-'??T'HH:mmZ")).parse(stringDate.replaceAll("Z$", "+0000"));
System.out.println("date: " + (new SimpleDateFormat("yyyy-MM-dd'??T'HH:mmZ")).format(date));

请注意,“Z”表示该时区也符合 RFC 822 时区标准。

关于java - 在 SimpleDateFormat 中包含通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60488677/

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