0

私のAndroidアプリでは、このようなWebサービスから文字列を取得しました-

 2012-10-17 22:54:00          or        2012-10-17 08:48:00

この文字列を次の文字列に変換したい-

2012-10-17 10:54:00 PM        or        2012-10-17 08:48:00 AM

android.Iでそれを行う方法は次のとおりですが、そのような結果を得ることができませんでした。また、gethours()、getminutes() などの日付クラス メソッドは非推奨です。

私がやった事-

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd");
        try {
            convertedDate = dateFormat.parse(publishtime);
            dateFormat.setLenient(true);

        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 
        Log.i("", "CREATE Date"+convertedDate);//the resut of log is - CREATE DateMon Jan 16 00:10:00 GMT+05:30 2012


        Log.i("", "HOURS:"+hour);
        if(hour>=12)
            publishtime=publishtime+" PM";
        else
            publishtime=publishtime+" AM";
4

3 に答える 3

0

まず、日付を解析するための正しいパターンを設定していません。

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

変換された文字列を取得するには

SimpleDateFormat convertedFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a");
convertedFormat.format(convertedDate);
于 2012-10-17T13:18:04.677 に答える
0
SimpleDateFormat dfTime_a= new SimpleDateFormat("yyyy-MM-dd h:mm:ss a");
SimpleDateFormat dfTime= new SimpleDateFormat("yyyy-MM-dd h:mm:ss");

public String formatTime(String str)
{
    java.util.Date d = null;

    try {
        d = dfTime.parse(str);
    } catch (java.text.ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    str = dfTime_a.format(d);
    return str;
}

チェック中

formatTime("2012-10-17 22:54:00") 2012-10-17 10:54:00 pm として op を与える

于 2012-10-17T13:10:07.860 に答える
0

これを試して

    String publishTime="2012-10-17 22:54:00";
    SimpleDateFormat inputTime= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    SimpleDateFormat outputTime= new SimpleDateFormat("yyyy-MM-dd KK:mm:ss a");
    Date date=inputTime.parse(publishTime);
    publishTime = outputTime.format(d);
    Log.i("", "CREATE Time"+publishTime);
于 2012-10-17T13:18:37.263 に答える