Модуль:Dates — Версийн башхалла
[теллина верси] | [теллина верси] |
Чулацам дӀабаьккхина Чулацам тӀетоьхна
тест Билгало: йухайаьккхина |
Йухадаьккхина декъашхочун Takhirgeran Umar (дийц.) нисдар 8812623 Билгало: йухайаккхар |
||
МогӀа 2:
В это модуле собраны функции, связанные с работой с датами.
]]
local monthg = {'
'
local monthd = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
МогӀа 40:
local function Year0(y,t)-- аналог Год0
if y>0 then return table.concat{
'[[', tostring(y), '
} else return table.concat{
'[[', tostring(-y), '
t and tostring(-y)..' '..t or tostring(-y),
' до н. э.]]'
МогӀа 49:
end
local function FormDate(j,m,y,oj,om,oy,mo)-- ~
if j then
if not m then return "''формат
if y then return
string.format(
'<span
table.concat(
oj and (
МогӀа 60:
oy and {-- ДД ММММ ГГГГ ([[ДД ММММ]] [[ГГГГ]])
oj,' ',monthg[om],' ',oy,
'</span> <span
j, ' ', monthg[m],']] ',Year0(y),')'
} or {-- ДД ММММ ([[ДД ММММ]]) [[ГГГГ]]
oj,' ',monthg[om],' ([[',j,' ',monthg[m],']]) ',Year0(y)
}
) or {--
}
) or {'[[',j,' ',monthg[m],']] ',Year0(y)}
),--/table.concat
({['
y,m,j
)--/string.format
else return
'<span
oj and (
om and {-- ДД ММММ ([[ДД ММММ]])
oj,' ',monthg[om],' ([[',j,' ',monthg[m],']])</span>'
} or {--
}
) or {'[[',j,' ',monthg[m],']]</span>'}
МогӀа 86:
else
return y and string.format(
'<span
Year0(y,'
end
end
МогӀа 110:
local function Yyyymmdd(r)--Переводит русскую дату в YYYY,MM,DD
local d,
if not m then return nil end
m
for i=1,12 do if m==monthg[i] then M=i;break end end--тупо перебор
if not M then return nil end▼
▲ if not M then
▲ return tonumber(y), M, tonumber(d)
end
МогӀа 137 ⟶ 127 :
end;
DecodeDate
Yyymmdd=Yyymmdd;
diffy
local d1,m1,y1=DecodeDate(f.args[1]);
local d0,m0,y0=DecodeDate(f.args[2])
МогӀа 154 ⟶ 140 :
persdate=function(f)-- Для шаблона Персона/Дата;{{#invoke:dates|persdate|nocat={{NAMESPACE}}}}
local frame=f:getParent();
local catpref,mo,d,d2={['
local cat, j,m,y,oj,om,oy,tail, j2,m2,y2, age = ''
if d then
j,m,y,oj,om,oy,tail=DecodeDate(d:gsub('−','-'));
if not (j or y) then
return (frame.args.nocat and d or d..'[[
end
end;
МогӀа 168 ⟶ 154 :
FormDate(j,m,y,oj,om,oy,mo),
( (frame.args['nopersoncat'] or '')~='' or (f.args['nocat'] or '')~='' ) and '' or table.concat{
'[[
j and string.format('[[
y and string.format('[[
},--/table.concat внутр.
(function(F)--возраст
МогӀа 177 ⟶ 163 :
return n and string.format(" (%i %s)%s",
n,
mw.getLanguage('
n>150 and '[[
) or ''
end)( ({
['
local now=os.date('*t');
if (not d2 or d2=='') and j and m and y then
МогӀа 187 ⟶ 173 :
end
end,
['
return j and m and y and j2 and m2 and y2 and Diffy(j,m,y,j2,m2,y2);
end,
МогӀа 243 ⟶ 229 :
end;
yyyymmdd = function(f)--
▲ local y, m, d = Yyyymmdd(date)
if not y then▼
▲ return string.format('%4i-%02i-%02i', y, m, d) .. (hourmin or '')
end
}
МогӀа 294 ⟶ 271 :
end
local pattern = "(%-?%d+)%-(%d+)%-(%d+)T"
local Y, M, D = mw.ustring.match( str, pattern )
МогӀа 300 ⟶ 277 :
end
local pattern = "T(%d+):(%d+):(%d+)%Z"
local H, M, S = mw.ustring.match( str, pattern)
МогӀа 306 ⟶ 283 :
end
if str:sub(-1)=="Z" then return 0,0 end -- ends with Z, Zulu time
МогӀа 380 ⟶ 357 :
end
if cond then return T else return F end
end
МогӀа 387 ⟶ 364 :
'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь'}
local genitivusMonthes = {'
'
if ( year >= 0 ) then
if (showOnlyYear == true) then
else▼
return '[[' .. year .. ' шо|' .. year .. ' шеран]]'
else
return
end
end
if ( year >= 0 ) then
return '' .. year .. '
else
return '' .. ( 0 - year) .. '
end
end
function p.formatWikiImpl( t1, t2, infocardClass, categoryNamePrefix
local nd = t2.day;
local nm = t2.month;
МогӀа 414 ⟶ 395 :
local oy = ternary ( t1.year ~= t2.year , t1.year, nil );
local template =
(nd ~= nil and "1" or "") .. (nm ~= nil and "2" or "") .. (ny ~= nil and "3" or "") ..
(od ~= nil and "4" or "") .. (om ~= nil and "5" or "") .. (oy ~= nil and "6" or "")
local datePart = '<span
if (template == "12") then
datePart = datePart .. string.format(
nd,
elseif (template == "23") then
datePart = datePart .. string.format( "%s [[%s]]",
elseif (template == "3") then
datePart = datePart .. nominativeYear( ny,
elseif (template == "123") then
datePart = datePart .. string.format(
elseif (template == "124") then
nd, genitivusMonthes[nm] )▼
▲ else
▲ nd, genitivusMonthes[nm], nd, genitivusMonthes[nm] )
elseif (template == "1234") then
nominativeYear(ny, false), nd, nominativeMonthes[nm], od, nd, nominativeMonthes[nm])
▲ datePart = datePart .. JulianComment(string.format( "%d", od )
nd, genitivusMonthes[nm], nominativeYear( ny, nolinks ) )▼
▲ datePart = datePart .. JulianComment(string.format( "%d", od )
elseif (template == "1245") then
datePart = datePart ..
elseif (template == "12345") then
datePart = datePart ..
nominativeYear( ny, false ), od, nominativeMonthes[om], nd, nominativeMonthes[nm] )
elseif (template == "123456") then
datePart = datePart ..
▲
else
datePart = datePart .. 'формат
end
datePart = datePart .. '</span>'
МогӀа 485 ⟶ 436 :
if infocardClass then
if (infocardTemplate == "123") then
datePart = datePart ..
elseif (infocardTemplate == "23") then
datePart = datePart ..
elseif (infocardTemplate == "3") then
datePart = datePart ..
end
end
МогӀа 495 ⟶ 446 :
if categoryNamePrefix then
if ( nd ~= nil and nm ~= nil) then
datePart = datePart .. '[[
end
if ( ny ~= nil) then
datePart = datePart .. '[[
end
end
|