4

我想将基于 24 小时制的数字转换为 12 小时制进行显示。我只有一个简单的数字,例如 1、2 或 23,而不是日期对象。

例如:凌晨 1 点到 1 点、凌晨 2 点到 2 点、...、晚上 22 点到晚上 10 点、晚上 23 点到晚上 11 点、

我如何在 JSF 中使用它?

4

2 回答 2

6

你可以用<f:convertDateTime>这个。这不仅支持java.util.Date,而且还支持以毫秒为单位的时间(由 获得Date#getTime())。将您的小时乘以 360000 以获取以毫秒为单位的小时,然后使用<f:convertDatetime>模式ha以获取 AM-PM ( h) 中的小时以及 AM-PM 标记 ( a)。

<h:outputText value="#{bean.hour * 360000}">
    <f:convertDateTime pattern="ha" />
</h:outputText>
于 2012-06-12T04:46:32.257 回答
0

What do you want? a Date object or just the output text from an integer?

Create a Date Object and use a Calendar to set its value and then set its hour format to 12 hours.

Or calculate 24 modulo 12 and add "am" or "pm" regarding if value was bigger then 12 or not.

于 2012-06-12T00:08:34.417 回答