buniak_a_h wrote: ↑Wed 11 Aug, 2021 05:19
Есть другая функция os.date, которая должна принимать формат и собственно время. Я, кажется нащупал: надо из таблицы, полученной win.FileTimeToSystemTime сформировать таблицу, пригодную для функции os.time, и полученное этой функцией время отформатировать функцией os.date Как-то проктологично, но попробую …
дошли руки еще раз попытатьдся разьяснить как НЕпроктологично работать с датой-временем
Функция ос.дате() действительно полезная и, на самом деле, покрывает потребности.
Она также учитывает текущую "локаль", как заявлено автором Луа:
Roberto Ierusalimschy. wrote:All representations follow the current locale. Therefore, in a locale for Brazil-Portuguese, %B would result in "setembro" and %x in "16/09/98".
Смотреть функцию, например, здесь:
https://www.lua.org/pil/22.1.html
Функция
os.date()
на самом деле покрывает большую и лучшую часть стандартной сишной функции
strftime
Смотреть ее например здесь:
http://www.cplusplus.com/reference/ctime/strftime/
Общая часть поддерживаемых спецификаторов:
%a abbreviated weekday name (e.g., Wed)
%A full weekday name (e.g., Wednesday)
%b abbreviated month name (e.g., Sep)
%B full month name (e.g., September)
%c date and time (e.g., 09/16/98 23:48:10)
%d day of the month (16) [01-31]
%H hour, using a 24-hour clock (23) [00-23]
%I hour, using a 12-hour clock (11) [01-12]
%M minute (48) [00-59]
%m month (09) [01-12]
%p either "am" or "pm" (pm)
%S second (10) [00-61]
%w weekday (3) [0-6 = Sunday-Saturday]
%x date (e.g., 09/16/98)
%X time (e.g., 23:48:10)
%Y full year (1998)
%y two-digit year (98) [00-99]
%% the character `%´
Теперь, у нас есть все локальные форматы в регистре тута:
HKEY_CURRENT_USER\Control Panel\International
но тама спецификаторы выглядят по-другому, например
dddd
вместо
%A
(полный день недели)
Впрочем, выглядит несложным сделать таблицу соответствий типа:
Code: Select all
dddd = "%A", -- full weekday name
"yy" = %y, -- two-digit year (98) [00-99]
-- .. итд итп