2012-05-03 5 views
0

実際の日付と時刻をミリ秒に変換し、他のタイムゾーンGMT + 3(私のタイムゾーンはGMT-2)に変換する必要があります。私はこのコードを使用しますが、それは私の時間を私のタイムゾーンに返します....なぜですか?Android:実際の日時をミリ秒と他のタイムゾーンに変換する

Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT-3")); 
cal.get(Calendar.DAY_OF_MONTH); 
cal.get(Calendar.MONTH); 
cal.get(Calendar.YEAR); 
cal.get(Calendar.HOUR_OF_DAY); 
cal.get(Calendar.MINUTE); 
cal.get(Calendar.SECOND); 
cal.get(Calendar.MILLISECOND); 
long timez = cal.getTime().getTime(); 

答えて

0

SimpleDateFormatを使用する必要があります。カレンダーでは、マシン上のデフォルト設定のタイムゾーンが常に使用されます。 SimpleDateFormatでこの機能を実現する方法については、exampleです。

-1

getTime()メソッドは同じ時刻を返します。タイムゾーンとは関係がありません。

0
Date date = new Date(); 
    DateFormat firstFormat = new SimpleDateFormat(); 
    DateFormat secondFormat = new SimpleDateFormat(); 
    TimeZone firstTime = TimeZone.getTimeZone(args[0]); 
    TimeZone secondTime = TimeZone.getTimeZone(args[1]); 
    firstFormat.setTimeZone(firstTime); 
    secondFormat.setTimeZone(secondTime); 
    System.out.println("-->"+args[0]+": " + firstFormat.format(date)); 
    System.out.println("-->"+args[1]+": " + secondFormat.format(date)); 
    } 

ここで、arg [0]とarg 1は2つのタイムゾーンです。 これを参照してくださいLINK

関連する問題