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 に答える