Перейти к содержимому


Фотография

API для определения времени в lua

API Время Lua Интернет

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 18

#1 Оффлайн   Laine_prikol

Laine_prikol
  • Пользователи
  • Сообщений: 126
  • Уровень сигнала: 0,67%
  • В игре: 4 час. 6 мин.

Награды

        

Отправлено 20 Декабрь 2017 - 13:40

Где можно найти сайт который при отправке запроса вернёт реальное московское время? В формате: часы:минуты


Сообщение отредактировал Laine_prikol: 20 Декабрь 2017 - 21:19


#2 Оффлайн   Doob

Doob
  • Пользователи
  • Сообщений: 792
  • Уровень сигнала: 23,85%
  • В игре: 146 час. 10 мин.

Награды

                                   

Отправлено 20 Декабрь 2017 - 15:45

В интернете.
  • NEO это нравится

#3 Оффлайн   NEO

NEO

    Что происходит? Уже удаляют безобидные сообщения, что дальше?

  • Пользователи
  • Сообщений: 1 703
  • Уровень сигнала: 3,96%
  • В игре: 24 час. 15 мин.
  • ГородСолнце

Награды

   2                        

Отправлено 20 Декабрь 2017 - 16:57

Где можно найти сайт который при отправке запроса вернёт реальное московское время?

тебя в ирк зовут.


  • FelixBanan это нравится

#4 Оффлайн   Laine_prikol

Laine_prikol
  • Автор темы
  • Пользователи
  • Сообщений: 126
  • Уровень сигнала: 0,67%
  • В игре: 4 час. 6 мин.

Награды

        

Отправлено 20 Декабрь 2017 - 20:56

В интернете.

Где, гуглил там хрень всякая либо без апи, есть 1 но он платный



#5 Оффлайн   Laine_prikol

Laine_prikol
  • Автор темы
  • Пользователи
  • Сообщений: 126
  • Уровень сигнала: 0,67%
  • В игре: 4 час. 6 мин.

Награды

        

Отправлено 20 Декабрь 2017 - 21:20

тебя в ирк зовут.

И как это относится к вопросу выше?


Сообщение отредактировал Laine_prikol: 20 Декабрь 2017 - 21:20


#6 Оффлайн   NEO

NEO

    Что происходит? Уже удаляют безобидные сообщения, что дальше?

  • Пользователи
  • Сообщений: 1 703
  • Уровень сигнала: 3,96%
  • В игре: 24 час. 15 мин.
  • ГородСолнце

Награды

   2                        

Отправлено 20 Декабрь 2017 - 21:39

И как это относится к вопросу выше?

тебе обещали дать ответ, но только в ирк.



#7 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 689
  • Уровень сигнала: 0,36%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 21 Декабрь 2017 - 01:44

Есть вот такая апишка: https://www.amdoren.com/time-zone-api/

Написано что бесплатная, но надо регаться чтобы ключ получить. Не пробовал сам.



#8 Оффлайн   Doob

Doob
  • Пользователи
  • Сообщений: 792
  • Уровень сигнала: 23,85%
  • В игре: 146 час. 10 мин.

Награды

                                   

Отправлено 21 Декабрь 2017 - 05:51

Ну да, если не искать, то много не найдешь. Даже на форуме.


  • Totoro, Fingercomp и eu_tomat это нравится

#9 Оффлайн   ECS

ECS
  • Гуру
  • Сообщений: 167
  • Уровень сигнала: 0,04%
  • В игре: 0 час. 13 мин.
  • ГородСанкт-Петербург

Награды

      7               

Отправлено 21 Декабрь 2017 - 19:10

А чего париться-то, API всякие искать... гуглим что-то наподобие "unix time", выбираем первый попавшийся сайт (к примеру, https://www.unixtimestamp.com/), отсылаем обычный запрос на получение контента веб-страницы, парсим результат через регулярку и наслаждаемся:

-- Получаем содержимое веб-страницы через дефолтную internet-либу
local data = ""
for chunk in require("internet").request("https://www.unixtimestamp.com/") do
  data = data .. chunk
end

-- Извлекаем время и корректируем часовой пояс
local timezone = 3
local timestamp = tonumber(data:match("(%d+)[^%d]+seconds since Jan")) + 3600 * timezone
print(os.date("%c", timestamp))

Сообщение отредактировал ECS: 21 Декабрь 2017 - 19:19


#10 Оффлайн   NEO

NEO

    Что происходит? Уже удаляют безобидные сообщения, что дальше?

  • Пользователи
  • Сообщений: 1 703
  • Уровень сигнала: 3,96%
  • В игре: 24 час. 15 мин.
  • ГородСолнце

Награды

   2                        

Отправлено 21 Декабрь 2017 - 19:46

 

А чего париться-то, API всякие искать... гуглим что-то наподобие "unix time", выбираем первый попавшийся сайт (к примеру, https://www.unixtimestamp.com/), отсылаем обычный запрос на получение контента веб-страницы, парсим результат через регулярку и наслаждаемся:

-- Получаем содержимое веб-страницы через дефолтную internet-либу
local data = ""
for chunk in require("internet").request("https://www.unixtimestamp.com/") do
  data = data .. chunk
end

-- Извлекаем время и корректируем часовой пояс
local timezone = 3
local timestamp = tonumber(data:match("(%d+)[^%d]+seconds since Jan")) + 3600 * timezone
print(os.date("%c", timestamp))

А если нужно постоянно получать время? Парсинг не подойдёт.



#11 Оффлайн   Doob

Doob
  • Пользователи
  • Сообщений: 792
  • Уровень сигнала: 23,85%
  • В игре: 146 час. 10 мин.

Награды

                                   

Отправлено 21 Декабрь 2017 - 19:51

Отнять аптайм компутера при запуске проги и добавлять его каждый раз перед выводом. Собственно, по ссылке оно и есть.


  • ECS это нравится

#12 Оффлайн   ivan52945

ivan52945
  • Пользователи
  • Сообщений: 131
  • Уровень сигнала: 62,7%
  • В игре: 384 час. 21 мин.

Награды

           

Отправлено 22 Декабрь 2017 - 01:21

Отнять аптайм компутера при запуске проги и добавлять его каждый раз перед выводом. Собственно, по ссылке оно и есть.

а там периодически корректировать ошибки не надо при таком раскладе?
или всё норм



#13 Оффлайн   eu_tomat

eu_tomat
  • Хранители Кода
  • Сообщений: 800
  • Уровень сигнала: 0,05%
  • В игре: 0 час. 19 мин.

Награды

                          

Отправлено 22 Декабрь 2017 - 01:48

а там периодически корректировать ошибки не надо при таком раскладе? или всё норм

Надо корректировать после каждого рестарта сервера. Как отследить этот момент, не ясно, поэтому надо корректировать периодически. А вот, как часто надо корректировать, зависит от условий задачи. Слишком частые обращения к сервису чреваты баном по IP, а редкие коррекции лишают такие часы смысла. Заходишь такой после рестарта сервера, а часы отстают на минуту-две. Зачем они тогда вообще нужны? Да и вообще, хороший вопрос, зачем наблюдать реальное время именно в Майнкрафте, когда есть более удобные инструменты. Сделать более-менее правдоподобные часики реально, но админ сервера не будет рад использованным методам.


#14 Оффлайн   ivan52945

ivan52945
  • Пользователи
  • Сообщений: 131
  • Уровень сигнала: 62,7%
  • В игре: 384 час. 21 мин.

Награды

           

Отправлено 22 Декабрь 2017 - 16:19

Надо корректировать после каждого рестарта сервера. Как отследить этот момент, не ясно, поэтому надо корректировать периодически. А вот, как часто надо корректировать, зависит от условий задачи. Слишком частые обращения к сервису чреваты баном по IP, а редкие коррекции лишают такие часы смысла. Заходишь такой после рестарта сервера, а часы отстают на минуту-две. Зачем они тогда вообще нужны? Да и вообще, хороший вопрос, зачем наблюдать реальное время именно в Майнкрафте, когда есть более удобные инструменты. Сделать более-менее правдоподобные часики реально, но админ сервера не будет рад использованным методам.

компуктеркрафт мог бы это отследить, ибо там проги зависят от релода сервака



#15 Оффлайн   eu_tomat

eu_tomat
  • Хранители Кода
  • Сообщений: 800
  • Уровень сигнала: 0,05%
  • В игре: 0 час. 19 мин.

Награды

                          

Отправлено 22 Декабрь 2017 - 18:38

компуктеркрафт мог бы это отследить, ибо там проги зависят от релода сервака

Какова ирония! То, что всегда считалось недостатком ComputerCraft, в определённой ситуации стало достоинством.

  • Quant это нравится

#16 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 689
  • Уровень сигнала: 0,36%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 22 Декабрь 2017 - 21:11

Какова ирония! То, что всегда считалось недостатком ComputerCraft, в определённой ситуации стало достоинством.

 

Ну, у всего на этом свете есть две стороны. =)



#17 Оффлайн   Asior

Asior
  • Пользователи
  • Сообщений: 146
  • Уровень сигнала: 83,41%
  • В игре: 511 час. 16 мин.

Награды

                 

Отправлено 23 Декабрь 2017 - 00:11

Уже не помню где и как я находил нормальную страницу интернет откуда можно было брать время. Почитай код http://computercraft...binarnye-chasy/ там есть одна из ссылок что возвращает время.

#18 Оффлайн   HixOff

HixOff
  • Пользователи
  • Сообщений: 154
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Отправлено 06 Январь 2018 - 12:24

http://computercraft...ealnogo-vremeni
а вот этого мало? в крайнем случае, если нет файловой системы(например, какой-нибудь микроконтроллер), можно поставить ПК, который будет тебе это время по беспроводной сети пересылать



#19 Оффлайн   eu_tomat

eu_tomat
  • Хранители Кода
  • Сообщений: 800
  • Уровень сигнала: 0,05%
  • В игре: 0 час. 19 мин.

Награды

                          

Отправлено 06 Январь 2018 - 13:17

http://computercraft...ealnogo-vremeni
а вот этого мало? в крайнем случае, если нет файловой системы(например, какой-нибудь микроконтроллер), можно поставить ПК, который будет тебе это время по беспроводной сети пересылать

Маловато. Во-первых, возвращается локальное время сервера, зависящее исключительно от предпочтений админа. Во-вторых, каждую секунду дёргать файловую систему ради получения точного времени — тоже сомнительная идея, которая при массовом использовании вряд ли будет одобрена админом.

Самый правильный способ, на мой взгляд, как уже предложил ivan52945, использовать ComputerCraft для отслеживания рестарта сервера. А время корректировать сразу после рестрата и каждые 15 минут, например.

Интересно было бы рассмотреть возможность использования каких-либо схем на красной пыли, но единственное, что я смог сразу вспомнить — это сенсор робота-рыбака, сбивающийся при выгрузке чанка. Вряд ли кто-то захочет использовать такую схему в часах.

Возможно, кто-то найдёт более удачный способ отслеживания момента перезагрузки чанка без использования ComputerCraft.






Темы с аналогичным тегами API, Время, Lua, Интернет

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика