无论时区如何,都以UTC格式获取设备时间

时间:2012-11-09 16:03:25

标签: java android datetime timezone utc

如何获取设备的本地时间并将其转换为我所在国家/地区的全球UTC格式?

2 个答案:

答案 0 :(得分: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());

(我不清楚你的意思是什么&#34;我国的全球UTC格式&#34; - UTC只是全球,而且它不是< em> format ,它是一个时区。)

答案 1 :(得分: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,根据日期&amp;设备设置的时间,因此它显示与设备时钟相同的时间。 通过将"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());