我希望从毫秒获得12小时的时间。我尝试如下
public class GetTimeFormat{
static SimpleDateFormat format;
public static String convertDate(String dateformat,Long date){
format = new SimpleDateFormat(dateformat);
String formattedDate = format.format(date);
return formattedDate;
}
public static void main(String args[])
{
long cal=1386059340010l;
String dateString=convertDate("MMM dd,yyyy HH:mm:ss a", cal);
System.out.println(dateString);
}
}
上述毫秒的相应日期为Tue Dec 03 13:59:00 IST 2013
所以我想我的格式化日期为Dec 03,2013 1:59:00 PM
但我得到了Dec 03,2013 13:59:00 PM
不需要24小时制的am / pm和12小时制am / pm是必需的
但是按照我的方式,我得到了24小时格式+ PM的时间。
任何人都可以告诉我这里的错误吗?
另一个问题是为什么在ideone显示Dec 03,2013 08:29:00 AM
不仅在ideone中,我已经检查了许多在线编译器,并且每个地方都显示相同但在本地机器时间不同(13:59)
答案 0 :(得分:1)
您需要在格式模式中使用小写h
:
String dateString = convertDate("MMM dd,yyyy h:mm:ss a", cal);
您可以查看here以获取格式模式的完整参考,包括涵盖此特定情况的示例。