<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hr">
	<id>https://enciklopedija.cc/index.php?action=history&amp;feed=atom&amp;title=Modul%3AFormatiraj_datum</id>
	<title>Modul:Formatiraj datum - Povijest promjena</title>
	<link rel="self" type="application/atom+xml" href="https://enciklopedija.cc/index.php?action=history&amp;feed=atom&amp;title=Modul%3AFormatiraj_datum"/>
	<link rel="alternate" type="text/html" href="https://enciklopedija.cc/index.php?title=Modul:Formatiraj_datum&amp;action=history"/>
	<updated>2026-08-06T23:14:01Z</updated>
	<subtitle>Povijest promjena ove stranice na wikiju</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://enciklopedija.cc/index.php?title=Modul:Formatiraj_datum&amp;diff=752855&amp;oldid=prev</id>
		<title>Suradnik10: preuzeto s hr.wikipedije</title>
		<link rel="alternate" type="text/html" href="https://enciklopedija.cc/index.php?title=Modul:Formatiraj_datum&amp;diff=752855&amp;oldid=prev"/>
		<updated>2026-04-10T01:38:27Z</updated>

		<summary type="html">&lt;p&gt;preuzeto s hr.wikipedije&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nova stranica&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local mjeseci = {&lt;br /&gt;
    -- Genitiv&lt;br /&gt;
    [&amp;quot;siječnja&amp;quot;] = &amp;quot;01&amp;quot;, [&amp;quot;veljače&amp;quot;] = &amp;quot;02&amp;quot;, [&amp;quot;ožujka&amp;quot;] = &amp;quot;03&amp;quot;, [&amp;quot;travnja&amp;quot;] = &amp;quot;04&amp;quot;,&lt;br /&gt;
    [&amp;quot;svibnja&amp;quot;] = &amp;quot;05&amp;quot;, [&amp;quot;lipnja&amp;quot;] = &amp;quot;06&amp;quot;, [&amp;quot;srpnja&amp;quot;] = &amp;quot;07&amp;quot;, [&amp;quot;kolovoza&amp;quot;] = &amp;quot;08&amp;quot;,&lt;br /&gt;
    [&amp;quot;rujna&amp;quot;] = &amp;quot;09&amp;quot;, [&amp;quot;listopada&amp;quot;] = &amp;quot;10&amp;quot;, [&amp;quot;studenoga&amp;quot;] = &amp;quot;11&amp;quot;, [&amp;quot;studenog&amp;quot;] = &amp;quot;11&amp;quot;, [&amp;quot;prosinca&amp;quot;] = &amp;quot;12&amp;quot;,&lt;br /&gt;
    -- Nominativ&lt;br /&gt;
    [&amp;quot;siječanj&amp;quot;] = &amp;quot;01&amp;quot;, [&amp;quot;veljača&amp;quot;] = &amp;quot;02&amp;quot;, [&amp;quot;ožujak&amp;quot;] = &amp;quot;03&amp;quot;, [&amp;quot;travanj&amp;quot;] = &amp;quot;04&amp;quot;,&lt;br /&gt;
    [&amp;quot;svibanj&amp;quot;] = &amp;quot;05&amp;quot;, [&amp;quot;lipanj&amp;quot;] = &amp;quot;06&amp;quot;, [&amp;quot;srpanj&amp;quot;] = &amp;quot;07&amp;quot;, [&amp;quot;kolovoz&amp;quot;] = &amp;quot;08&amp;quot;,&lt;br /&gt;
    [&amp;quot;rujan&amp;quot;] = &amp;quot;09&amp;quot;, [&amp;quot;listopad&amp;quot;] = &amp;quot;10&amp;quot;, [&amp;quot;studeni&amp;quot;] = &amp;quot;11&amp;quot;, [&amp;quot;prosinac&amp;quot;] = &amp;quot;12&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- Broj dana u mjesecima&lt;br /&gt;
local daniUMjesecu = {[&amp;quot;01&amp;quot;] = 31, [&amp;quot;02&amp;quot;] = 28, [&amp;quot;03&amp;quot;] = 31, [&amp;quot;04&amp;quot;] = 30, [&amp;quot;05&amp;quot;] = 31, [&amp;quot;06&amp;quot;] = 30, [&amp;quot;07&amp;quot;] = 31, [&amp;quot;08&amp;quot;] = 31, [&amp;quot;09&amp;quot;] = 30, [&amp;quot;10&amp;quot;] = 31, [&amp;quot;11&amp;quot;] = 30, [&amp;quot;12&amp;quot;] = 31}&lt;br /&gt;
&lt;br /&gt;
-- Provjerava je li godina prijestupna&lt;br /&gt;
local function prijestupna(godina)&lt;br /&gt;
    return (godina % 4 == 0 and godina % 100 ~= 0) or (godina % 400 == 0) end&lt;br /&gt;
&lt;br /&gt;
-- Glavna funkcija za obradu datuma&lt;br /&gt;
local function dohvatiISO(DATUMstring)&lt;br /&gt;
    local CISTIdatum = DATUMstring&lt;br /&gt;
    CISTIdatum = mw.text.killMarkers(CISTIdatum)&lt;br /&gt;
    CISTIdatum = string.gsub(CISTIdatum, &amp;quot;%[%[([^%]]+)%]%]&amp;quot;, &amp;quot;%1&amp;quot;)&lt;br /&gt;
    CISTIdatum = mw.text.trim(CISTIdatum)&lt;br /&gt;
&lt;br /&gt;
    local dan, mjesec, godina = CISTIdatum:match(&amp;quot;^(%d+)%.%s+([%ačćžšđ]+)%s+(%d+)%.$&amp;quot;)&lt;br /&gt;
    if dan and mjesec and godina then&lt;br /&gt;
        local BROJgodina = tonumber(godina)&lt;br /&gt;
        if not BROJgodina or BROJgodina &amp;lt; 1000 or BROJgodina &amp;gt; 9999 then return nil end&lt;br /&gt;
        local BROJmjesec = mjeseci[mjesec:lower()]&lt;br /&gt;
        if not BROJmjesec then return nil end&lt;br /&gt;
        local MAXdana = daniUMjesecu[BROJmjesec]&lt;br /&gt;
        if BROJmjesec == &amp;quot;02&amp;quot; and prijestupna(BROJgodina) then MAXdana = 29 end&lt;br /&gt;
        local BROJdan = tonumber(dan)&lt;br /&gt;
        if not BROJdan or BROJdan &amp;lt; 1 or BROJdan &amp;gt; MAXdana then return nil end&lt;br /&gt;
        local FORMATIRANIdan = string.format(&amp;quot;%02d&amp;quot;, BROJdan)&lt;br /&gt;
        return godina .. &amp;quot;-&amp;quot; .. BROJmjesec .. &amp;quot;-&amp;quot; .. FORMATIRANIdan&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local mjesec2, godina2 = CISTIdatum:match(&amp;quot;^([%ačćžšđ]+)%s+(%d+)%.$&amp;quot;)&lt;br /&gt;
    if mjesec2 and godina2 then&lt;br /&gt;
        local BROJgodina2 = tonumber(godina2)&lt;br /&gt;
        if not BROJgodina2 or BROJgodina2 &amp;lt; 1000 or BROJgodina2 &amp;gt; 9999 then return nil end&lt;br /&gt;
        local BROJmjesec2 = mjeseci[mjesec2:lower()]&lt;br /&gt;
        if not BROJmjesec2 then return nil end&lt;br /&gt;
        return godina2 .. &amp;quot;-&amp;quot; .. BROJmjesec2&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local godina3 = CISTIdatum:match(&amp;quot;^(%d+)%.$&amp;quot;)&lt;br /&gt;
    if godina3 then&lt;br /&gt;
        local BROJgodina3 = tonumber(godina3)&lt;br /&gt;
        if not BROJgodina3 or BROJgodina3 &amp;lt; 1000 or BROJgodina3 &amp;gt; 9999 then return nil end&lt;br /&gt;
        return godina3&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getISO(frame)&lt;br /&gt;
    local DATUMstring = frame.args[1] or &amp;quot;&amp;quot;&lt;br /&gt;
    return dohvatiISO(DATUMstring)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.dohvatiISO = dohvatiISO&lt;br /&gt;
&lt;br /&gt;
-- Dodaj class (bday/dtstart/dtend)&lt;br /&gt;
function p.formatDateWithClass(frame)&lt;br /&gt;
    local DATUMstring = frame.args[1] or &amp;quot;&amp;quot;&lt;br /&gt;
    local class = frame.args[2] or &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    if class ~= &amp;quot;bday&amp;quot; and class ~= &amp;quot;dtstart&amp;quot; and class ~= &amp;quot;dtend&amp;quot; then return &amp;quot;&amp;quot; end&lt;br /&gt;
&lt;br /&gt;
    local ISOdatum = dohvatiISO(DATUMstring)&lt;br /&gt;
    if not ISOdatum then return &amp;quot;&amp;quot; end&lt;br /&gt;
&lt;br /&gt;
    if string.len(ISOdatum) == 10 then&lt;br /&gt;
        local SPAN = string.format(&amp;#039;&amp;lt;span style=&amp;quot;display:none&amp;quot; class=&amp;quot;%s&amp;quot;&amp;gt;%s&amp;lt;/span&amp;gt;&amp;#039;, class, ISOdatum)&lt;br /&gt;
        return SPAN&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    return &amp;quot;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
    local args = frame.args&lt;br /&gt;
    local UNESENIdatum = args[1] or &amp;quot;&amp;quot;&lt;br /&gt;
    local class = args[2] or &amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    local SPAN = p.formatDateWithClass{ args = { [1] = UNESENIdatum, [2] = class } }&lt;br /&gt;
    &lt;br /&gt;
    if SPAN == &amp;quot;&amp;quot; then&lt;br /&gt;
        return UNESENIdatum&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    return SPAN .. &amp;quot; &amp;quot; .. UNESENIdatum&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Izvoz funkcija za druge module&lt;br /&gt;
local function getMaxDan(godina, mjesec)&lt;br /&gt;
    local max = daniUMjesecu[mjesec]&lt;br /&gt;
    if mjesec == &amp;quot;02&amp;quot; and prijestupna(godina) then&lt;br /&gt;
        max = 29&lt;br /&gt;
    end&lt;br /&gt;
    return max&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.daniUMjesecu = daniUMjesecu&lt;br /&gt;
p.jePrestupna = prijestupna&lt;br /&gt;
p.getMaxDan = getMaxDan&lt;br /&gt;
&lt;br /&gt;
-- Funkcija za televizijske predloške &lt;br /&gt;
-- Učitava datum s sadržajem u zagradi&lt;br /&gt;
function p.televizija(frame)&lt;br /&gt;
    local args = frame.args&lt;br /&gt;
    local UNESENIdatum = args[1] or &amp;quot;&amp;quot;&lt;br /&gt;
    local class = args[2] or &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    if class ~= &amp;quot;bday&amp;quot; and class ~= &amp;quot;dtstart&amp;quot; and class ~= &amp;quot;dtend&amp;quot; then&lt;br /&gt;
        return UNESENIdatum&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local datePart, parentheticalPart = string.match(UNESENIdatum, &amp;quot;^(.-)%s+%(([^)]+)%)s*$&amp;quot;)&lt;br /&gt;
    local originalDateForDisplay&lt;br /&gt;
&lt;br /&gt;
    if datePart then&lt;br /&gt;
        originalDateForDisplay = mw.text.trim(datePart)&lt;br /&gt;
    else&lt;br /&gt;
        datePart = UNESENIdatum&lt;br /&gt;
        originalDateForDisplay = UNESENIdatum&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local ISOdatum = dohvatiISO(mw.text.trim(datePart))&lt;br /&gt;
&lt;br /&gt;
    if ISOdatum then&lt;br /&gt;
        -- dodaj span za sve duljine: YYYY, YYYY-MM, YYYY-MM-DD&lt;br /&gt;
        local SPAN = string.format(&amp;#039;&amp;lt;span style=&amp;quot;display:none&amp;quot; class=&amp;quot;%s&amp;quot;&amp;gt;%s&amp;lt;/span&amp;gt;&amp;#039;, class, ISOdatum)&lt;br /&gt;
        local result = SPAN .. &amp;quot; &amp;quot; .. originalDateForDisplay&lt;br /&gt;
        if parentheticalPart then&lt;br /&gt;
            result = result .. &amp;quot; (&amp;quot; .. parentheticalPart .. &amp;quot;)&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
        return result&lt;br /&gt;
    else&lt;br /&gt;
        return UNESENIdatum&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Suradnik10</name></author>
	</entry>
</feed>