デバイスの現地時間を取得し、それを自分の国のグローバル UTC 形式に変換するにはどうすればよいですか?
質問する
4220 次
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 に答える