Получение текущего Datetime в стране без использования системного времени - PullRequest
0 голосов
/ 08 сентября 2018

Я пытаюсь получить реальный ток в моей стране, однако методы, которые я использовал, зависят от времени на моем устройстве. Я установил время на своем устройстве на 9 часов утра, в то время как в действительности это было 7 часов вечера, а следующий метод вернул 8 часов утра, что, конечно, неверно.

simpledate.setTimeZone(TimeZone.getTimeZone("Europe/Slovakia"));
to_time = simpledate.format(new Date());

Есть ли способ получить реальное время в стране, не зависящее от системного времени? Я предполагаю, что устройство должно быть подключено к Интернету. Кроме того, моя страна использует DST, поэтому она также должна это учитывать. Просматривал аналогичный вопрос, никто не помог.

1 Ответ

0 голосов
/ 08 сентября 2018

Есть два способа сделать это: нужен ли вам доступ к веб-сервису, предоставляющему текущую дату и время в формате JSON или XML, ИЛИ вы можете проанализировать время с веб-сайта, например

http://www.timeanddate.com/worldclock/

Еще один альтернативный фрагмент кода для получения времени с сервера времени. Вам нужен библиотека Apache Commons Net, чтобы это работало.

import org.apache.commons.net.time.TimeTCPClient;

public final class GetTime {

public static final void main(String[] args) {
    try {
        TimeTCPClient client = new TimeTCPClient();
        try {
            client.setDefaultTimeout(60000);
            client.connect("time.nist.gov");
            System.out.println(client.getDate());
        }
        catch (IOException e) {
           e.printStackTrace();
        }
        finally {
           client.disconnect();
        }
    }
}

Другие серверы времени можно найти по адресу ЗДЕСЬ . Просто замените time.nist.gov на один.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...