2

デバイスの現地時間を取得し、それを自分の国のグローバル UTC 形式に変換するにはどうすればよいですか?

4

2 に答える 2

5

現地時間をまったく取得しないでください。たとえば、最初に UTC 値を取得するだけです。

long millis = System.currentTimeMillis();

または:

Date date = new Date();

これを文字列としてフォーマットする必要がある場合は、使用しますSimpleDateFormatが、タイム ゾーンを適切に設定することを忘れないでください。例えば:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",
                                               Locale.US);
format.setTimeZone(TimeZone.getTimeZone("Etc/Utc"));
String text = format.format(new Date());

(「私の国のグローバル UTC 形式」が何を意味するのか明確ではありません。UTC単にグローバルであり、形式ではなく、タイム ゾーンです。)

于 2012-11-09T16:05:06.933 に答える
1

何をしたいのかわかりませんが、日付と時刻を通常の形式で表示したい場合は、次の方法で実行できます。

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm");
Calendar cal = Calendar.getInstance();
String dateAndTime = dateFormat.format(cal.getTime());

文字列 dateAndTime は2012/01/01 11:13、デバイスが設定された日付と時刻に応じて のようなものになるため、デバイスの時計と同じ時刻が表示されます。好きなように変更することで、フォーマットを少し"yyyy/MM/dd HH:mm"いじることができます。

お役に立てれば!

更新: UTC 時刻を取得するには、次のようにします。

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm");
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
String dateAndTimeUTC = dateFormat.format(new Date());
于 2012-11-09T16:13:03.583 に答える