You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
4.5 KiB
119 lines
4.5 KiB
#!/usr/local/bin/lua53
|
|
|
|
-- Месяцы
|
|
m = { "января", "февраля", "марта", "апреля", "мая", "июня",
|
|
"июля", "августа", "сентября", "октября", "ноября", "декабря" }
|
|
|
|
-- Единицы
|
|
l1 = {
|
|
{ "первое", "одна", "первого" },
|
|
{ "второе", "две", "второго" },
|
|
{ "третье", "три", "третьего" },
|
|
{ "четвертое", "четыре", "четвертого" },
|
|
{ "пятое", "пять", "пятого" },
|
|
{ "шестое", "шесть", "шестого" },
|
|
{ "седьмое", "семь", "седьмого" },
|
|
{ "восьмое", "восемь", "восьмого" },
|
|
{ "девятое", "девять", "девятого" },
|
|
{ "десятое", "десять", "десятого" },
|
|
{ "одиннадцатое", "одиннадцать", "одиннадцатого" },
|
|
{ "двенадцатое", "двенадцать", "двенадцатого" },
|
|
{ "тринадцатое", "тринадцать", "тринадцатого" },
|
|
{ "четырнадцатое", "четырнадцать", "четырнадцатого" },
|
|
{ "пятнадцатое", "пятнадцать", "пятнадцатого" },
|
|
{ "шестнадцатое", "шестнадцать", "шестнадцатого" },
|
|
{ "семнадцатое", "семнадцать", "семнадцатого" },
|
|
{ "восемнадцатое", "восемнадцать", "восемнадцатого" },
|
|
{ "девятнадцатое", "девятнадцать", "девятнадцатого" },
|
|
{ "двадцатое", "двадцать", "двадцатого" }
|
|
}
|
|
|
|
-- Десятки
|
|
l10 = {
|
|
{ "десятое", "десять", "десятого" },
|
|
{ "двадцатое", "двадцать", "двадцатого" },
|
|
{ "тридцатое", "тридцать", "тридцатого" },
|
|
{ "", "сорок", "сорокового" },
|
|
{ "", "пятьдесят", "пятидесятого" },
|
|
{ "", "шестьдесят", "шестидесятого" },
|
|
{ "", "семьдесят", "семидесятого" },
|
|
{ "", "восемьдесят", "восьмидесятого" },
|
|
{ "", "девяносто", "девяностого" }
|
|
}
|
|
|
|
-- Сотни
|
|
l100 = {
|
|
{ "сто", "сотого" },
|
|
{ "двести", "двухсотого" }, { "триста", "трехсотого" },
|
|
{ "четыреста", "четырехсотого" }, { "пятьсот", "пятисотого" },
|
|
{ "шестьсот", "шестисотого" }, { "семьсот", "семисотого" },
|
|
{ "восемьсот", "восьмисотого" }, { "девятьсот", "девятисотого" }
|
|
}
|
|
|
|
-- Тысячи
|
|
l1000 = {
|
|
"тысячного", "двухтысячного", "трехтысячного", "четырехтысячного",
|
|
"пятитысячного", "шеститысячного", "семитысячного", "восьмитысячного",
|
|
"девятитысячного"
|
|
}
|
|
|
|
sym = { "тысяча", "тысячи", "тысяч" }
|
|
|
|
d = tonumber(os.date('%d'))
|
|
|
|
lettday = ""
|
|
|
|
if ( math.fmod(d, 10) == 0 ) then
|
|
lettday = l10[d / 10][1]
|
|
else
|
|
if ( d <= 20 ) then
|
|
lettday = l1[d][1]
|
|
else
|
|
n10 = d // 10
|
|
n1 = math.fmod(d, 10)
|
|
lettday = l10[n10][2] .. " " .. l1[n1][1]
|
|
end
|
|
end
|
|
|
|
lettmonth = m[tonumber(os.date('%m'))]
|
|
|
|
y = tonumber(os.date('%Y'))
|
|
n1000 = y // 1000
|
|
n100 = math.fmod(y,1000) // 100
|
|
n10 = math.fmod(y,100)
|
|
n1 = math.fmod(n10,10)
|
|
|
|
lettyear = ""
|
|
|
|
if ( n1000 > 0 and n100 == 0 and n10 == 0 and n1 == 0 ) then
|
|
lettyear = l1000[n1000]
|
|
elseif ( n1000 > 0 ) then
|
|
lettyear = l1[n1000][2]
|
|
|
|
if ( n1000 == 1 ) then
|
|
lettyear = lettyear .. " " .. sym[1]
|
|
elseif ( n1000 < 5 ) then
|
|
lettyear = lettyear .. " " .. sym[2]
|
|
else
|
|
lettyear = lettyear .. " " .. sym[3]
|
|
end
|
|
end
|
|
|
|
if ( n100 > 0 and n10 == 0 and n1 == 0 ) then
|
|
lettyear = lettyear .. " " .. l100[n100][2]
|
|
elseif ( n100 > 0 ) then
|
|
lettyear = lettyear .. " " .. l100[n100][1]
|
|
end
|
|
|
|
if ( n10 > 0 and n1 == 0 ) then
|
|
lettyear = lettyear .. " " .. l10[n10 / 10][3]
|
|
elseif ( n10 < 20 ) then
|
|
lettyear = lettyear .. " " .. l1[n10][3]
|
|
else
|
|
lettyear = lettyear .. " " .. l10[n10 // 10][2] .. " " .. l1[n1][3]
|
|
end
|
|
|
|
letters = lettday .. " " .. lettmonth .. " " .. lettyear .. " года"
|
|
|
|
print(letters)
|
|
|
|
|