2011-10-20 11 views
0

通話記録からデータを収集しています。 これは私が私の好みにコールの日付をフォーマットする方法である:Androidの通話記録形式通話時間

DateFormat datePattern = DateFormat.getDateInstance(DateFormat.FULL); //Tuesday, October 18, 2011 
Long datelong = Long.parseLong("1318950779497"); 
String date_str = datePattern.format(datelong); 
Date date = new Date(date_str); 
formatter = new SimpleDateFormat("d/M/yyyy"); //18/10/2011 
newdateformatted = formatter.format(date); 

これは、コールの時間:

DateFormat timePattern = DateFormat.getTimeInstance(DateFormat.LONG); //12:40:32 PM GMT+00:00 

私はこれをどのようにフォーマットすることができますか?私は24時間のタイムコードが欲しい。

+0

を私はあなたの質問を理解していません。あなたがしたいことをすでにやっているようです。 –

+0

GMT + 00:00の午後3:12:59のようなデータが得られます。私は15:12:59 – erdomester

答えて

1

ただ単に時間のために別のフォーマッタを行います。

SimpleDateFormat timeFormater = new SimpleDateFormat("HH:mm:ss"); 
timeString = timeFormater.format(date); 

HH:mm:ssの大文字と小文字の区別に注意してください。 HHは24時間形式を提供します。

次の小さなテストコードは、私の作品:

import java.text.SimpleDateFormat; 
import java.util.Date; 
public class Test{ 


    public static void main(String args[]){ 
    Date today = new Date(); 
    SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss"); 
    String formated = formatter.format(today); 
    System.out.println(formated); 
    } 
} 

これは、出力:

15:57:11 
+0

だけtimeFormater.format(date_str)ですが、この行に私にIllegalArgumentExceptionを与えます。 – erdomester

+0

おっと、申し訳ありません。私はそれを編集して修正した。文字列ではなく、実際の日付オブジェクトを与えなければなりません。 –

+0

ok。今ではすべての日付について00:00:00を返します。フォーマットをkk:mm:ssに変更すると、24:00:00になります。私はこれを取得しません。 – erdomester