2012-02-02 13 views
5

選択した時間と分を国の異なるタイムゾーンに変換する問題があります。 もし私がインドで午前10時を選択したら、私はインドで午前10時にアメリカ/ニューヨークと東京で時間を知りたいと思います。時間ピッカーから時刻を選択する際に異なるタイムゾーンの時間を取得します

すべてのヘルプはかなりある... は私が提供するつもりですが、私はあなたがそれを試すことができると思いソリューションについて

+0

私は私の問題は、現在の時刻を変換することではありません知っている、私の問題は – Richa

+0

イムイムBT 2日間ではないしようと選択した時間を変換しています結果を得る – Richa

+0

問題の解決方法を知ることはできますか?私はやっている! USA/newyorkデバイスの時差しかし、もし私たちがNewyourkタイムゾーンをタイムゾーンに変更すれば、その作業。 newyorkのデバイスだけがa!に直面!私の時間差。この問題の解決方法を知ることができますか? – Nivedh

答えて

1

org.joda.time.DateTimeZone class

HereをチェックJoda-Time library を使用してみてくださいは同じのためのAPIドキュメントです。

0

本当にわからない、ありがとうございました。 GMT(グリニッジ標準時)は標準です。私はあなたがベースとしてそれを保つことができ、希望の時間を計算することができると思います。 GMT標準も簡単に利用できます。

たとえば、Windows XPやWindows 7などのOSをインストールするときに、ドロップダウンメニューから時間を選択します。私の要点は、これをベースにして、NY-USと東京 - 日本のタイムゾーンの違いを、またその逆を望む通りに見つけることができます。

これが役に立ちます。

3

以下sollution見つけてください:

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mma"); 
    TimeZone timezone = TimeZone.getDefault(); 
    TimeZone utcTimeZone = TimeZone.getTimeZone("UTC"); 
    Date d = new Date(); 
    sdf.setTimeZone(timezone); 
    String strtime = sdf.format(d); 
    Log.e("str time gmt ",strtime); 
    sdf.setTimeZone(utcTimeZone); 
    strtime = sdf.format(d); 
    Log.e("str time utc ",strtime); 

は、私は、これは

+0

私はそれを理解することができない私は知っているbtを知っている – Richa

2

おそらくJoda Time - Java date and time APIを使用することができ、あなたの問題を解決すると思います。あなたは

DateTimeZone zone = DateTimeZone.forID("Asia/Kolkata"); 

ジョダ時間はあなたが正規のIDに応じて、タイムゾーンを取得することができ、そこから完全list of Canonical IDがあり、ジョダ時間で定義されたCanonical IDに応じDateTimeZoneを得ることができます。

あなたはこの瞬間にニューヨークで現地時間を取得したいのであれば、あなたはあなたにも得ることができますChanging TimeZone

+0

私は理解していないURのansと希望のゾーンの時間ではなく、 – Richa

+1

これを使用する際に直面している問題は何ですか? –

1

を参照することができ、よりアイデアを取得するために、次の

// get current moment in default time zone 
    DateTime dt = new DateTime(); 
    // translate to New York local time 
    DateTime dtNewYork = dt.withZone(DateTimeZone.forID("America/New_York")); 

を行うだろう使用して、ここで外部API

DateFormat format = new SimpleDateFormat("MMMMM d, yyyy, h:mm a"); 
TimeZone utc = TimeZone.getTimeZone("America/New_York"); 
System.out.println(utc.getID()); 
GregorianCalendar gc = new GregorianCalendar(utc); 
Date now = gc.getTime(); 
System.out.println(format.format(now)); 

を必要としないこと、あなたがこのでより多くの時間帯を見ることができます

出力

アメリカ/ニューヨーク

2012年12月29日、11時04分AM

あなたは都市の名前がわからない場合、あなたはまた、ゾーン名でそれを使用することができます続く

DateFormat format = new SimpleDateFormat("MMMMM d, yyyy, h:mm a"); 
TimeZone cst = TimeZone.getTimeZone("US/Eastern"); 
System.out.println(cst.getID()); 
GregorianCalendar gc = new GregorianCalendar(cst); 
Date now = gc.getTime(); 
format.setTimeZone(cst); 
System.out.println(format.format(now)) 

出力

米国/東

2012年12月29日、12:38 AM

関連する問題