如何在android中将字符串转换为时间?

时间:2014-05-26 10:40:59

标签: android time

我从语音中获取字符串(语音到文本)。当我说出时间时,它会显示,例如的" 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);
        }

2 个答案:

答案 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);