在SimpleDateFormat模式string中使用字母字符
是否可以在SimpleDateFormat模式string中包含字母字符?
我正在尝试创build一个格式化string,其中字母“T”包含在时间之前,例如:
2003-11-15 T 09:30:47-05:00
我目前使用yyyy-MM-ddhh:mm:ssZ
作为模式string。
如果我将其更改为yyyy-MM-ddThh:mm:ssZ
,它将抛出一个exception,因为“A”到“Z”和“a”到“z”被保留。
有什么解决scheme不涉及使用两个DateFormats?
围绕T
单引号应该工作:
yyyy-MM-dd'T'hh:mm:ssZ
从文档引用(重点是我的):
date和时间格式由date和时间模式string指定。 在date和时间模式string中,从
'A'
到'Z'
以及从'a'
到'z'
未加引号的字母被解释为表示date或时间string的组成部分的模式字母。 可以使用单引号('
)引用文本以避免解释。"''"
代表单引号。 所有其他字符不解释; 它们只是在格式化时被复制到输出string中,或者在parsing过程中与inputstring匹配。
甚至包括您的具体用例作为例子:
Date and Time Pattern Result ------------------------------------------------------------- "yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700