是否可以在SimpleDateFormat模式字符串中包含字母字符?
我试图创建一个格式字符串,例如在时间之前包括字母“ T”:
2003-11-15 T 09:30:47-05:00。
我目前正在使用yyyy-MM-ddhh:mm:ssZ
作为模式字符串。
如果我将其更改为yyyy-MM-ddThh:mm:ssZ
它,则会抛出异常,因为保留了“ A”至“ Z”和“ a”至“ z”。
是否有不涉及使用两个DateFormat的解决方案?
Answers:
周围的T
单引号应该工作:
yyyy-MM-dd'T'hh:mm:ssZ
引用文档(重点是我的):
日期和时间格式由日期和时间模式字符串指定。在日期和时间模式字符串,从带引号的字母
'A'
来'Z'
和'a'
到'z'
被解释为代表的日期或时间字符串的组件模式字母。可以使用单引号('
)来引用文本,以避免解释。"''"
代表单引号。其他所有字符均不解释;它们仅在格式化期间被复制到输出字符串中,或者在解析期间与输入字符串匹配。
甚至包括您的特定用例作为示例:
Date and Time Pattern Result
-------------------------------------------------------------
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700