Android携帯電話(Nexus one)とJavaサーバーの間の時間変換に少し問題があります。私が読んだものはすべて同じであると言われていますが、私が長いタイムスタンプを変換すると、私は1時間(正確に)失うようです。Android時間とJava時間
具体的には、私は次の出力を得るのAndroidデバイス上で、次のコードを実行した場合
コード:
Calendar g = Calendar.getInstance();
g.setTimeInMillis(1340661899000L);
Log.d(TAG, g.getTime().toLocaleString());
出力: 2012年6月25日午前六時04分59秒PM
私は正しいと思いますが、javaサーバで全く同じコードを実行すると、同じ日に1時間早くなります。
コード:
Calendar g = Calendar.getInstance();
g.setTimeInMillis(1340661899000L);
System.out.println(g.getTime().toLocaleString());
出力:誰もがこれを引き起こしている可能性が何 25 - 6月 - 2012年5時04分59秒PM
を知っていますか?サーバーの電話機と電話機が同じ場所にある(問題ではない)とサーバーボックスと電話機の時計が一致する
クライアントの時刻ロケールがわからないため、クライアントとサーバー間の通信にローカライズされた時間を使用したくない場合があります。 –
値1340661899000Lは現地時間でなければなりません。私はちょうど与えられた時間がデバイスのタイムゾーンにあることを表示したい –
クライアントとサーバーの両方が同じタイムゾーン/モードになることを期待しています。 –