0

このようにESTでフォーマットされたサーバーから取得した日付があります

05/07/2012 16:55:55月/日/年、そして時間

電話がESTにない場合、どうすれば電話のタイムゾーンに変換できますか?

ミリ秒単位の時間を取得しても問題ありませんが、そうではありません

編集:

さて、フォーマット時に時刻が正しくありません

                String sTOC = oNewSTMsg.getAttribute("TOC").toString();
                String timezoneID = TimeZone.getDefault().getID();
                DateFormat format = new SimpleDateFormat("MM/dd/yy HH:mm:ss");
                format.setTimeZone(TimeZone.getTimeZone("EST"));
                String newtimezoneID = TimeZone.getDefault().getID();
                Date timestamp = null;
                try{
                    timestamp = format.parse(sTOC);
                    format.setTimeZone(TimeZone.getDefault());
                    timezoneID = format.format(timestamp);
                }catch(ParseException e){

                }

私はそれを「EST」に変換し、その時刻をデフォルトにフォーマットしますTimeZoneが、時刻は常に1時間ずれています。なぜですか?

4

2 に答える 2

1

UNIX タイムスタンプを取得するには、次のコードを使用します。

String serverResp = "05/07/2012 16:55:55";
DateFormat format = new SimpleDateFormat("MM/dd/yy HH:mm:ss");
Date date = format.parse(serverResp);

これでタイムスタンプが得られました。これを使用する方法を知っています。

興味がある場合に備えて、変換に関する別の質問を次に示します。Android Convert Central Time to Local Time

于 2012-05-07T15:21:30.767 に答える
0

クラスを使用してDateFormat、文字列を に解析しDateます。ここでAPIドキュメントの紹介を参照してください... http://docs.oracle.com/javase/1.5.0/docs/api/java/text/DateFormat.html

その後、日付のカレンダーを作成できます...

Calendar cal = Calendar.getInstance().setTime(date);

を使用して、カレンダーのタイムゾーンを別のタイムゾーンに変更できますsetTimezone()。または、ミリ秒単位で時間を取得します。getTimeInMillis()

CalendarDate、およびクラスを使用するとDateFormat、正しい方向に進むはずです。

ここのドキュメントを参照してCalendarください... http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Calendar.html

于 2012-05-07T15:22:20.603 に答える