2009-07-31 94 views
3

我使用下面的代碼將字符串轉換爲日期,但它在轉換時應用設備的時區。
我不需要這個,但我想相同的日期/時間從字符串如黑莓Java到日期轉換的字符串

String = "2009-07-31 07:59:17.427" 
Date = 2009-07-31 07:59:17.427 

Date formatter = new Date(HttpDateParser.parse("2009-07-31 07:59:17.427")); 
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); 
String strCustomDateTime = dateFormat.format(formatter); 

回答

1

什麼問題,到底是什麼?您試圖將「2009-07-31 07:59:17.427」轉換爲時間點,但是,這並沒有指定一個獨特的時間點 - 沒有時區。所以你確實需要一個時區,而圖書館則需要選擇一個,即平臺當前的時區。

如果問題是你要指定一個不同的時區,然後調用DateFormat.setTimeZone():

format.setTimeZone(TimeZone.getTimeZone("your time zone")); 
+0

我在Blackberry中的setTimeZone方法出現錯誤。我只想將字符串格式的日期表示按原樣獲取到日期格式。 – Neo 2009-07-31 10:31:10

6

您可能需要帳戶默認時區偏移和你約會解析後得到:

public static String StringToDate(String dateToParse) { 

    Date formatter = new Date(HttpDateParser.parse(dateToParse)); 
    SimpleDateFormat dateFormat = new SimpleDateFormat(
      "yyyy-MM-dd HH:mm:ss.SSS"); 
    int offset = TimeZone.getDefault().getRawOffset(); 
    formatter.setTime(formatter.getTime() + offset); 
    String strCustomDateTime = dateFormat.format(formatter); 
    return strCustomDateTime; 
}