1

我有一个字符串,它从数据库中返回日期和时间为2012-11-09 13:20:17. 现在我需要从数据库字符串中获取时间并显示时间,例如13:20:17 pm电话时间设置是否为24 hour,如果电话时间设置为,12 hour我应该将其显示为01:20:17 pm. 通过这行代码可以得到时间格式,显示是24小时还是12小时

String timefrmt = Settings.System.getString(context.getContentResolver(),Settings.System.TIME_12_24);
SimpleDateFormat timesettingsFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
date="2012-11-09 13:20:17";
Date myDate=null;
try {
     myDate=timesettingsFormat.parse(date);
} catch (ParseException e1) {
     // TODO Auto-generated catch block
     e1.printStackTrace();
} 
if(timefrmt==null){
     timefrmt="hh:mm aa";
}
SimpleDateFormat timeFormat=new SimpleDateFormat(timefrmt);
String time=timeFormat.format(myDate);

我尝试过的示例代码在上面,但它崩溃了。谁能帮我找到解决办法。非常感谢

4

1 回答 1

2

试试这个

public static String dateFormateNote(String date) 
{   

    try {
          DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
          DateFormat df2 = new SimpleDateFormat("hh:mm:ss");
          return df2.format(df1.parse(date));
        }
        catch (ParseException e) {
          return date;
        }
}
于 2012-11-09T10:21:15.820 回答