2011-10-20 110 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

我得到的數據如下午3:12:59 GMT + 00:00。我只需要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

好的。現在它給我所有日期的00:00:00。如果將格式更改爲kk:mm:ss,它會給我24:00:00。我不明白這一點。 – erdomester