从网络服务,接收时间为23:30:00。我想将其转换为12小时的格式。我希望输出类似于晚上11:30(转换后23:30:00)。
答案 0 :(得分:4)
使用 SimpleDateFormat 将一次/日期格式转换为另一种格式。
Log.v("12HRS Time", getFormatedDateTime("23:30:00", "HH:mm:ss", "hh:mm a"))
public static String getFormatedDateTime(String dateStr, String strReadFormat, String strWriteFormat) {
String formattedDate = dateStr;
DateFormat readFormat = new SimpleDateFormat(strReadFormat, Locale.getDefault());
DateFormat writeFormat = new SimpleDateFormat(strWriteFormat, Locale.getDefault());
Date date = null;
try {
date = readFormat.parse(dateStr);
} catch (ParseException e) {
}
if (date != null) {
formattedDate = writeFormat.format(date);
}
return formattedDate;
}
对于 SimpleDateFormat 参考: - https://developer.android.com/reference/java/text/SimpleDateFormat.html
答案 1 :(得分:3)
使用日期模式获取它的最简单方法 - h:mm a,其中
h - Hour in am/pm (1-12)
m - Minute in hour
a - Am/pm marker
代码段:
DateFormat dateFormat = new SimpleDateFormat("hh:mm a");
有关详细信息,请参阅此link
答案 2 :(得分:1)
实施例
Date dateToFormat = new Date(someDate);
SimpleDateFormat dateFormatExpression = new SimpleDateFormat("hh:mm a");
String formattedDate = dateFormatExpression.format(dateToFormat);
答案 3 :(得分:0)
试试这个。
DateFormat dateFormat = new SimpleDateFormat("hh:mm a");
答案 4 :(得分:0)
只需使用SimpleDateFormat
public String GetTimeWithAMPMFromTime(String dt) {
try {
SimpleDateFormat inFormat = new SimpleDateFormat("HH:mm:ss");
Date date = inFormat.parse(dt);
SimpleDateFormat outFormat = new SimpleDateFormat("hh:mm a");
String goal = outFormat.format(date);
return goal;
} catch (ParseException e) {
e.printStackTrace();
return "";
}
}
调用方法......
String YOUR_TIME = GetTimeWithAMPMFromTime(WEB_SERVICE_TIME);
答案 5 :(得分:0)
android.text.format.DateFormat myDate = new android.text.format.DateFormat();
myDate.format("hh:mm a", new java.util.Date());
答案 6 :(得分:0)
public static void convert(String time) throws Exception {
try {
SimpleDateFormat t24 = new SimpleDateFormat("HH:mm");
SimpleDateFormat t12 = new SimpleDateFormat("hh:mm a");
Date date = t24.parse(time);
System.out.println(t12.format(date));
} catch (Exception e) {
e.printStackTrace();
}
}
答案 7 :(得分:0)
一个线路代码
String time = null;
try{
time = new SimpleDateFormat("HH:mm").format(new SimpleDateFormat("HH:mm:ss").parse("your_time");
}catch{
}
在your_time
中,您必须提供要转换的输入。
答案 8 :(得分:0)
我就是这样回答的,我已经测试过了(y)
startTime = "2013-02-27 21:06:30";
StringTokenizer tk = new StringTokenizer(startTime);
String date = tk.nextToken();
String time = tk.nextToken();
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss");
SimpleDateFormat sdfs = new SimpleDateFormat("hh:mm a");
Date dt;
try {
dt = sdf.parse(time);
System.out.println("Time Display: " + sdfs.format(dt)); // <-- I got result here
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}