Этот вопрос уже имеет ответ здесь:
Что функция должна получить текущее время UTC. Я попробовал System.getCurrentTime, но я получаю текущую дату и время устройства.
Спасибо
System.currentTimeMillis()
действительно дает вам количество миллисекунд с 1 января 1970 года 00:00:00 UTC. Причина, по которой вы видите локальное время, может заключаться в том, что перед использованием экземпляра Date
вы преобразовываете его в строку. Вы можете использовать DateFormat
s для преобразования Date
s в String
s в любом часовом поясе:
DateFormat df = DateFormat.getTimeInstance();
df.setTimeZone(TimeZone.getTimeZone("gmt"));
String gmtTime = df.format(new Date());
Также см. этот связанный вопрос.