如何在java中显示日期和时间(12小时格式)

时间:2011-08-02 20:33:57

标签: java

嗨,我的秒数如下

long seconds = 1299671538L;

使用上述秒数我想显示日期和时间(12小时格式) 我编写的代码如下:

SimpleDateFormat formatter = new SimpleDateFormat(
                             "EEEE, MMMM d, yyyy HH:mm,a", Locale.getDefault());
String dateString = formatter.format(new Date(seconds * 1000L));
System.out.println(dateString);

我的输出为Wednesday, March 9, 2011 17:22,PM

但我想显示Wednesday, March 9, 2011 05:22,PM(12 hour format)

3 个答案:

答案 0 :(得分:15)

使用hh代替HHSimpleDateFormat的文档描述了这一点。

答案 1 :(得分:4)

使用hh代替HH 12小时格式。

SimpleDateFormat formatter = new SimpleDateFormat(
                    "EEEE, MMMM d, yyyy hh:mm,a", Locale.getDefault());

答案 2 :(得分:1)

的Javadoc?

  

定义以下模式字母(来自的所有其他字符)   'A'到'Z'和'a'到'z'是保留的):

Letter    Date or Time Component  Presentation    Examples
G     Era designator  Text    AD
y     Year    Year    1996; 96
M     Month in year   Month   July; Jul; 07
w     Week in year    Number  27
W     Week in month   Number  2
D     Day in year     Number  189
d     Day in month    Number  10
F     Day of week in month    Number  2
E     Day in week     Text    Tuesday; Tue
a     Am/pm marker    Text    PM
H     Hour in day (0-23)  Number  0
k     Hour in day (1-24)  Number  24
K     Hour in am/pm (0-11)    Number  0
h     Hour in am/pm (1-12)    Number  12
m     Minute in hour  Number  30
s     Second in minute    Number  55
S     Millisecond     Number  978
z     Time zone   General time zone   Pacific Standard Time; PST;
     

GMT-08:00       Z时区RFC 822时区-0800