如何将24小时时间格式转换为12小时格式?我知道这个问题已被多次询问,但我的问题不同了。我现在的时间是:
Tue Nov 07 18:44:47 GMT + 05:00 2017
我只想要从我约会时间下午6:44开始。我试过这个:
private void convertTime(String time)
{
try {
final SimpleDateFormat sdf = new SimpleDateFormat("H:mm");
final Date dateObj = sdf.parse(time);
System.out.println(dateObj);
System.out.println(new SimpleDateFormat("K:mm a").format(dateObj));
} catch (final ParseException e) {
e.printStackTrace();
}
}
答案 0 :(得分:3)
final SimpleDateFormat sdf = new SimpleDateFormat("hh:mm");
使用hh
将为您提供12小时格式和HH
24小时格式。有关documentation的更多详情。
修改强>
为了将日期字符串解析为Date
对象,您的初始格式必须如下:
final SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM d HH:mm:ss 'GMT'Z yyyy");
final Date dateObj = sdf.parse(time);
之后,您可以根据需要设置时间格式。
答案 1 :(得分:2)
来自SimpleDateFormat
文档:
" h:mm a&#34 ;: 12:08 PM
所以你需要的格式:
我只想从我的约会时间下午6:44
是:
final SimpleDateFormat sdf1 = new SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy");
Date date = sdf1.parse(time);
final SimpleDateFormat sdf = new SimpleDateFormat("h:mm a");
String newDateString = sdf.format(date);
答案 2 :(得分:1)
try {
final SimpleDateFormat sdf = new SimpleDateFormat("hh:mm");
final Date dateObj = sdf.parse(time);
System.out.println(dateObj);
System.out.println(new SimpleDateFormat("K:mm a").format(dateObj));
} catch (final ParseException e) {
e.printStackTrace();
}