我从语音中获取字符串(语音到文本)。当我说出时间时,它会显示,例如的" 530pm" 即可。我想只从字符串转换时间。例如" 530pm" 到 05:30 PM 。我怎样才能实现这一目标? 提前谢谢。
我尝试使用此代码但无法正常工作
String s= "530 pm";
SimpleDateFormat dateFormat = new SimpleDateFormat("hh:mm aa");
try {
Date date1 = dateFormat.parse(s);
Log.e("Time", ""+date1);
} catch (ParseException e) {
// TODO Auto-generated catch block
Log.e("Error", ""+e);
}
答案 0 :(得分:13)
阅读SimpleDateFormat文档(解析和格式化方法和模式语法)。
http://developer.android.com/reference/java/text/SimpleDateFormat.html
String time = "530pm";
SimpleDateFormat dateFormat = new SimpleDateFormat("hmmaa");
SimpleDateFormat dateFormat2 = new SimpleDateFormat("hh:mm aa");
try {
Date date = dateFormat.parse(time);
String out = dateFormat2.format(date);
Log.e("Time", out);
} catch (ParseException e) {
}
答案 1 :(得分:2)
final String NEW_FORMAT = " hh:mm";
final String OLD_FORMAT = "hh:mm:ss";
String formatDate;
SimpleDateFormat sdf = new SimpleDateFormat(OLD_FORMAT);
Date d = null;
try {
d = sdf.parse(Value);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sdf.applyPattern(NEW_FORMAT);
formatDate=sdf.format(d);