2011-11-28 43 views
0

我在如何將Android日期轉換爲Linux TimeStamp?

DD-MM-YYYY(2011-11-28)

我想把它轉換成Linux的時間戳沒有時間或時間爲零的日期字符串。

我被

String dateString="13-09-2011"; 
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy"); 
       Date date = null; 
       try { 
        date = (Date)formatter.parse(dateString); 
        Log.v(Constants.LOGGING_TAG, "Date is " + dateString); 
       } catch (ParseException e) { 
        e.printStackTrace(); 
       } 
       Log.v(Constants.LOGGING_TAG, "Today is " + date.getTime()); 

做,但這不是得到所要的結果。任何機構都有任何想法來解決這個問題。

+1

「沒有給出想要的結果」並不十分精確。請告訴我們你得到了什麼和你的期望。 –

+0

你期望輸出什麼? – adatapost

+0

你想要的輸出是什麼? –

回答

3

目前尚不清楚是什麼問題,因爲你還沒有告訴我們您所期望的,你在說什麼,但我懷疑有兩個潛在的問題:

  • 您還沒有指定一個時區,因此格式化程序將解析系統本地時區中的值。如果你只想要一個日期,你應該格式化首先設置爲UTC:

    formatter.setTimeZone(TimeZone.getTimeZone("UTC")); 
    
  • 如果你想要一個Unix時間值(單位:秒),你將需要1000分在Date值,如java.util.Date表示以毫秒爲單位:

    long seconds = date.getTime()/1000; 
    

我還全力推薦使用Joda Time,而不是內置類的日期/時間操作。

+0

明白了......它的工作原理......謝謝:) –

+0

Joda-Time鏈接的+1,謝謝喬恩 - 爲什麼這個heck沒有,我發現之前?!?從Smalltalk到Java(很久以前),我總是抱怨Java Date實現是多麼愚蠢和不直觀。 –