2009-07-31 23 views
3

文字列を日付に変換するのに次のコードを使用しましたが、変換中にデバイスのタイムゾーンが適用されています。
私はこれを必要としませんが、私は、まさに問題とは何Blackberry 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

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; 
} 
関連する問題