Я работаю над Android-приложением, и я хочу преобразовать локальное время (время устройства) в UTC и сохранить его в базе данных. Получив его из базы данных, я должен его снова преобразовать и отобразить в часовом поясе устройства. Может ли кто-нибудь предложить, как это сделать на Java?Convert Local time to UTC и наоборот
ответ
Я преобразовал местное время в GMT/UTC и наоборот, используя эти два метода, и это отлично работает без каких-либо проблем для меня.
public static Date localToGMT() {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
Date gmt = new Date(sdf.format(date));
return gmt;
}
скоротать GMT дата/UTC, который вы хотите преобразовать в устройство по местному времени к этому методу:
public static Date gmttoLocalDate(Date date) {
String timeZone = Calendar.getInstance().getTimeZone().getID();
Date local = new Date(date.getTime() + TimeZone.getTimeZone(timeZone).getOffset(date.getTime()));
return local
}
Спасибо. его рабочий тон – appy
новый Дата (дата строки) устарела. Вы не должны его использовать! –
Time.getCurrentTimezone()
получите вас часовой пояс и
Calendar c = Calendar.getInstance(); int seconds = c.get(Calendar.SECOND)
получит Вас время в формате UTC в секундах. Конечно, вы можете изменить значение, чтобы получить его в другом устройстве.
вы можете попробовать что-то вроде этого, чтобы вставить в БД:
SimpleDateFormat f = new SimpleDateFormat("h:mm a E zz");
f.setTimeZone(TimeZone.getTimeZone("UTC"));
System.out.println(f.format(new Date()));
String dd = f.format(new Date());
Это уклонение от ур комментарий:
ВЫВОД:
1:43 вечера пн UTC
Для этого, -> convert он снова и дисплей времени устройства
UPDATE:
String dd = f.format(new Date());
Date date = null;
DateFormat sdf = new SimpleDateFormat("h:mm a E zz");
try {
date = sdf.parse(dd);
}catch (Exception e){
}
sdf.setTimeZone(TimeZone.getTimeZone("Asia/Kolkata"));
System.out.println(sdf.format(date));
ВЫВОД:
7:30 PM ПН GMT + 05: 30
U может отображаться следующим образом.
Получить текущий UTC:
public String getCurrentUTC(){
Date time = Calendar.getInstance().getTime();
SimpleDateFormat outputFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
outputFmt.setTimeZone(TimeZone.getTimeZone("UTC"));
return outputFmt.format(time);
}
Упрощенная версия принятой ответ:
public static Date dateFromUTC(Date date){
return new Date(date.getTime() + Calendar.getInstance().getTimeZone().getOffset(date.getTime()));
}
public static Date dateToUTC(Date date){
return new Date(date.getTime() - Calendar.getInstance().getTimeZone().getOffset(date.getTime()));
}
- 1. convert UTC to local time using angularjs
- 2. Javascript Date time String to UTC date time и UTC to Local Date time
- 3. convert utc time and offset to DateTime
- 4. Haskell Convert ByteString To UTC Time
- 5. pandas time shift from utc to local
- 6. android convert unix time to utc date
- 7. Convert Local Time To EST in iOS
- 8. UTC to local time using Linq to Entities
- 9. Convert DateTimeOffset to local local?
- 10. Convert Extended to Time
- 11. Convert from Local Time to UTC (С учетом локального часового пояса)
- 12. Python: strftime UTC timestamp to local time format
- 13. convert iso-8601 datetime to utc time rails
- 14. C# convert UTC to EDT
- 15. Convert Mysql timestamp to local country time stamp
- 16. UTC to local time adjustment woes with PHP
- 17. Как исправить ошибки с local time to utc?
- 18. Javascript UTC to Local (IST)
- 19. Python convert set to string и наоборот
- 20. Convert OffsetDateTime to UTC Timestamp
- 21. Convert Epoch Time string to Time
- 22. UTC Time to String Conversion
- 23. SQL convert int to time
- 24. Laravel - Carbon Convert Meridian Time to DateTime
- 25. convert json marshall time to nsdate
- 26. Javascript convert Datetime to Time
- 27. Convert String to shortdate time
- 28. oracle convert unix epoch time to date
- 29. Как скорректировать код с UTC - local time in C?
- 30. local to UTC conversion in java
Улучшенный вопрос – AlBlue