如何获取设备的当地时间并将其转换为我所在国家/地区的全球 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 回答