转义模式字母并在<p:calendar pattern =“”> </p:calendar>中提供固定字母

时间:2013-09-19 13:13:51

标签: jsf-2 primefaces

我想在primefaces模式中包含单词,我需要逃避那个无意改变的单词,例如:“01.00AM”,因为如果它没有被转义而不是像“2013/09/19那样打印当前日期” 01.00AM“打印”2013/09/19 01.00A9“。

<p:calendar pattern="yyyy/MM/dd 01.00AM"/>

如何逃离关键字母字母?

2 个答案:

答案 0 :(得分:0)

<p:calendar>使用DateFormat模式在其pattern属性中设置日期实例的格式。

引用扩展抽象基类的SimpleDateFormat类的相关部分:

  

日期和时间格式由日期和时间模式字符串指定。在日期和时间模式字符串中,从“A”到“Z”和从“a”到“z”的不带引号的字母被解释为表示日期或时间字符串的组成部分的模式字母。可以使用单引号(')引用文本以避免解释。 “''”代表单引号。不解释所有其他字符;它们只是在格式化过程中被复制到输出字符串中,或​​者在解析过程中与输入字符串匹配。

我们可以使用以下符号来实现您的目标:

pattern="yyyy/MM/dd 01.00'AM'"

也就是说,如果你想在你的模式中使用Am / pm标记(从日期实例中获得AM / PM格式的时间),只需使用a你希望输出的地方:

pattern="yyyy/MM/dd K:mm a"

答案 1 :(得分:0)

Skunstel的回答在理论上是正确的,但是要使日历工作,您需要使用反斜杠来逃避单引号,因此,以下模式将执行此操作:

pattern="yyyy/MM/dd \'01.00AM\'"