Получение метки времени UTC UNIX в Lua

API возвращает метку времени как метку времени UNIX в UTC, и я хотел бы знать, была ли эта метка времени больше, чем x секунд назад. Как и ожидалось, это отлично работает с os.time() - x > timestamp в UTC, но взрывается в других часовых поясах.

к сожалению, я не могу найти хороший способ решить эту проблему в lua.

os.date услужливо имеет ! префикс (например,os.date("!%H:%M:%S")) для возврата времени в UTC, но кажется, что, несмотря на документацию, она поддерживает все strftime "параметры", этого не не поддерживать . Я слышал, что люди упоминают, что это вызвано параметрами времени компиляции Lua для аналогичной проблемы, но изменить их невозможно, поскольку интерпретатор предоставляется пользователем.

1 ответов


можно использовать

os.time(os.date("!*t"))

чтобы получить текущую эпоху UNIX.