<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://wiki.trashforum.org/index.php?action=history&amp;feed=atom&amp;title=Modul%3AD%C3%A1tumsz%C5%B1r%C3%A9s</id>
	<title>Modul:Dátumszűrés - Laptörténet</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.trashforum.org/index.php?action=history&amp;feed=atom&amp;title=Modul%3AD%C3%A1tumsz%C5%B1r%C3%A9s"/>
	<link rel="alternate" type="text/html" href="https://wiki.trashforum.org/index.php?title=Modul:D%C3%A1tumsz%C5%B1r%C3%A9s&amp;action=history"/>
	<updated>2026-06-20T18:02:34Z</updated>
	<subtitle>Az oldal laptörténete a wikiben</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.trashforum.org/index.php?title=Modul:D%C3%A1tumsz%C5%B1r%C3%A9s&amp;diff=5240&amp;oldid=prev</id>
		<title>BarathéGábor: 1 változat importálva</title>
		<link rel="alternate" type="text/html" href="https://wiki.trashforum.org/index.php?title=Modul:D%C3%A1tumsz%C5%B1r%C3%A9s&amp;diff=5240&amp;oldid=prev"/>
		<updated>2025-01-24T20:09:45Z</updated>

		<summary type="html">&lt;p&gt;1 változat importálva&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;hu&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Régebbi változat&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;A lap 2025. január 24., 22:09-kori változata&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;hu&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Nincs különbség)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>BarathéGábor</name></author>
	</entry>
	<entry>
		<id>https://wiki.trashforum.org/index.php?title=Modul:D%C3%A1tumsz%C5%B1r%C3%A9s&amp;diff=5239&amp;oldid=prev</id>
		<title>w&gt;Bean49: 17.02.1934. felismerése</title>
		<link rel="alternate" type="text/html" href="https://wiki.trashforum.org/index.php?title=Modul:D%C3%A1tumsz%C5%B1r%C3%A9s&amp;diff=5239&amp;oldid=prev"/>
		<updated>2024-11-02T18:09:14Z</updated>

		<summary type="html">&lt;p&gt;17.02.1934. felismerése&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Új lap&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- A MODUL FÜGGVÉNYEIT ÉS ADATAIT CSAK require(&amp;#039;Modul:Dátumszűrés&amp;#039;) MÓDON TUDJUK ELÉRNI.&lt;br /&gt;
-- A CitWeb és családja számára készült el.&lt;br /&gt;
&lt;br /&gt;
require(&amp;#039;strict&amp;#039;)&lt;br /&gt;
local getArgs = require(&amp;#039;Modul:Arguments&amp;#039;).getArgs&lt;br /&gt;
&lt;br /&gt;
-- a magyar dátumhoz kell&lt;br /&gt;
local honapok = { &amp;#039;január&amp;#039;, &amp;#039;február&amp;#039;, &amp;#039;március&amp;#039;, &amp;#039;április&amp;#039;, &amp;#039;május&amp;#039;, &amp;#039;június&amp;#039;,&lt;br /&gt;
	&amp;#039;július&amp;#039;, &amp;#039;augusztus&amp;#039;, &amp;#039;szeptember&amp;#039;, &amp;#039;október&amp;#039;, &amp;#039;november&amp;#039;, &amp;#039;december&amp;#039;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- ellenőrizzük az egyes hónapok hosszát&lt;br /&gt;
local honaphossz = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}&lt;br /&gt;
&lt;br /&gt;
-- pop a nyomkövetés céljait szolgálja&lt;br /&gt;
local ou = &amp;#039;&amp;#039;&lt;br /&gt;
local function pop(...) -- idézőjeles rész és bővítmények az ou számára&lt;br /&gt;
--[[ memóriatúllépést okoz, csak teszteléshez&lt;br /&gt;
	local list = {...}&lt;br /&gt;
	for _, var in pairs(list) do&lt;br /&gt;
		ou = ou .. tostring(var) .. &amp;#039;\n &amp;#039;&lt;br /&gt;
		mw.log(ou)&lt;br /&gt;
	end&lt;br /&gt;
]]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- a magyar helyesírás szerinti rövidített hónapnevek a honapnevesdate() kimenetének&lt;br /&gt;
-- előállításához&lt;br /&gt;
&lt;br /&gt;
-- az ISO 8604 szabvány szerinti dátumban a hónap helyére lépő stringet szolgáltatja&lt;br /&gt;
local honapsorszamekezetnelkul = {&lt;br /&gt;
	[&amp;#039;jan&amp;#039;] = &amp;#039;01&amp;#039;, -- january, Januar&lt;br /&gt;
	[&amp;#039;feb&amp;#039;] = &amp;#039;02&amp;#039;, -- february, Februar, février&lt;br /&gt;
	[&amp;#039;mar&amp;#039;] = &amp;#039;03&amp;#039;, -- mars, März, mars&lt;br /&gt;
	[&amp;#039;apr&amp;#039;] = &amp;#039;04&amp;#039;, -- april, avril első betű a, második v APRL AVRL&lt;br /&gt;
	[&amp;#039;maj&amp;#039;] = &amp;#039;05&amp;#039;, -- may mai mai az első betű m, a harmadik nem r MAY&lt;br /&gt;
	[&amp;#039;jun&amp;#039;] = &amp;#039;06&amp;#039;, -- june, juin az első kettő ju de a harmadik i JUN&lt;br /&gt;
	[&amp;#039;jul&amp;#039;] = &amp;#039;07&amp;#039;, -- july, juli, juillet viszont itt is i, VEGYÜK KI AZ I-T A NÉVBŐL: JUL&lt;br /&gt;
	[&amp;#039;aug&amp;#039;] = &amp;#039;08&amp;#039;, -- august, aout első betű a, második o&lt;br /&gt;
	[&amp;#039;sze&amp;#039;] = &amp;#039;09&amp;#039;, -- sept&lt;br /&gt;
	[&amp;#039;okt&amp;#039;] = &amp;#039;10&amp;#039;,&lt;br /&gt;
	[&amp;#039;nov&amp;#039;] = &amp;#039;11&amp;#039;,&lt;br /&gt;
	[&amp;#039;dec&amp;#039;] = &amp;#039;12&amp;#039;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- a római számmal megadott hónap decimális megfelelője&lt;br /&gt;
local decimal = {&lt;br /&gt;
	[&amp;#039;I&amp;#039;] = 1,&lt;br /&gt;
	[&amp;#039;II&amp;#039;] = 2,&lt;br /&gt;
	[&amp;#039;III&amp;#039;] = 3,&lt;br /&gt;
	[&amp;#039;IV&amp;#039;] = 4,&lt;br /&gt;
	[&amp;#039;V&amp;#039;] = 5,&lt;br /&gt;
	[&amp;#039;VI&amp;#039;] = 6,&lt;br /&gt;
	[&amp;#039;VII&amp;#039;] = 7,&lt;br /&gt;
	[&amp;#039;VIII&amp;#039;] = 8,&lt;br /&gt;
	[&amp;#039;IX&amp;#039;] = 9,&lt;br /&gt;
	[&amp;#039;X&amp;#039;] = 10,&lt;br /&gt;
	[&amp;#039;XI&amp;#039;] = 11,&lt;br /&gt;
	[&amp;#039;XII&amp;#039;] = 12&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local hibavan = false&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- kell a dátum ellenőrzéséhez&lt;br /&gt;
-- a numerikus dátumokat kezeli le és ISO 8604 szabvány szerinti dátumot csinál a bemeneti esetleg helytelenül megadott dátumból&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
DÁTUMSZŰRŐ:&lt;br /&gt;
Kiszűri a bemenetén kapott dátumokból&lt;br /&gt;
a) a csupa számból álló ISO 8604 dátumokat&lt;br /&gt;
b) a római számmal megadott magyar dátumokat&lt;br /&gt;
c) a magyar vagy idegen hónapneveket tartalmazó dátumokat&lt;br /&gt;
és ezekből mind helyesen formázott ISO 8604 dátumokat csinál&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
local function error(about) -- hibajelzést szolgál&lt;br /&gt;
	-- Enclose errorMsg with &amp;lt;span&amp;gt;&lt;br /&gt;
	-- Precondition:&lt;br /&gt;
	--     about -- string&lt;br /&gt;
	hibavan = true&lt;br /&gt;
	local r = about&lt;br /&gt;
	if type(about) == &amp;#039;string&amp;#039; then&lt;br /&gt;
		if #about == 0 then&lt;br /&gt;
			r = &amp;#039;Lua-hiba&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
	r = tostring(about)&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;#039;&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;&amp;#039; .. r .. &amp;#039;&amp;lt;/span&amp;gt;, &amp;#039;&lt;br /&gt;
end -- error()&lt;br /&gt;
&lt;br /&gt;
local function isRoman(v)&lt;br /&gt;
	if type(v) ~= &amp;#039;string&amp;#039; then&lt;br /&gt;
		-- A római számok stringek&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	if v:find(&amp;#039;[^IVXLCDM]&amp;#039;) then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ month_to_hu(m)&lt;br /&gt;
segéd-funkció, mely az idegen hónapneveket helyettesíti azékezet nélküli, három karakteres rövidített&lt;br /&gt;
magyar hónapnevekre (a rövidítést nem jelzi ponntal)&lt;br /&gt;
Ennek alapján beküzdi a kétjegyű hónap-sorszámot az ISO 8604 szabványnak megfelelő alakban&lt;br /&gt;
--]]&lt;br /&gt;
local function month_to_hu(m)&lt;br /&gt;
	--[[&lt;br /&gt;
		Spanyol: enero febrero marzo abril mayo junio julio ago septiembre v. setiembre octubre noviembre diziembre&lt;br /&gt;
		Portugál: janeiro fevereiro marco abril maio junho julho agosto setembro outubro novembro dezembro&lt;br /&gt;
		Olasz: gennaio febbraio marzo aprile maggio giugno luglio agosto settembre ottobre novemre dicembre&lt;br /&gt;
	--]]&lt;br /&gt;
	local alfa, eb, ub, e2b&lt;br /&gt;
	if not m then&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
	m = string.gsub(m, &amp;#039; &amp;#039;, &amp;#039;&amp;#039;) -- cseréljük fel a szóközöket üressel&lt;br /&gt;
	m = string.gsub(m, &amp;#039;ä&amp;#039;, &amp;#039;a&amp;#039;) -- März, mars problem ôû&lt;br /&gt;
	m = string.gsub(m, &amp;#039;û&amp;#039;, &amp;#039;u&amp;#039;)&lt;br /&gt;
	m = string.lower(m) -- minden kisbetűs&lt;br /&gt;
	alfa = string.match(m, &amp;#039;[a-z%-]+&amp;#039;) -- kötőjel problémás&lt;br /&gt;
	if alfa then -- vannak egyáltalán betűk&lt;br /&gt;
		pop(&amp;#039;1- alfa=&amp;#039;, alfa)&lt;br /&gt;
		m = string.sub(m, 1, 3) --három betünk van&lt;br /&gt;
		eb = string.sub(m, 1, 1)&lt;br /&gt;
		if eb == &amp;#039;m&amp;#039; then&lt;br /&gt;
			ub = string.sub(m, -1, -1)&lt;br /&gt;
			if     ub == &amp;#039;i&amp;#039; then m = &amp;#039;maj&amp;#039;&lt;br /&gt;
			elseif ub == &amp;#039;r&amp;#039; then m = &amp;#039;mar&amp;#039;&lt;br /&gt;
			elseif ub == &amp;#039;y&amp;#039; then m = &amp;#039;maj&amp;#039;&lt;br /&gt;
			elseif ub == &amp;#039;g&amp;#039; then m = &amp;#039;maj&amp;#039; --maggio&lt;br /&gt;
			end&lt;br /&gt;
		elseif eb == &amp;#039;e&amp;#039; then&lt;br /&gt;
			m = &amp;#039;jan&amp;#039; --spanyol&lt;br /&gt;
		elseif eb == &amp;#039;g&amp;#039; then&lt;br /&gt;
			e2b = string.sub(m, 1, 2)&lt;br /&gt;
			if e2b == &amp;#039;ge&amp;#039; then&lt;br /&gt;
				m = &amp;#039;jan&amp;#039;&lt;br /&gt;
			elseif e2b == &amp;#039;gi&amp;#039; then&lt;br /&gt;
				m = &amp;#039;jun&amp;#039; --- olasz&lt;br /&gt;
			end&lt;br /&gt;
		elseif eb == &amp;#039;j&amp;#039; then&lt;br /&gt;
			if string.sub(m, 2, 2) == &amp;#039;a&amp;#039; then&lt;br /&gt;
				m = &amp;#039;jan&amp;#039;&lt;br /&gt;
			elseif string.sub(m, 3, 3) == &amp;#039;n&amp;#039; then&lt;br /&gt;
				m = &amp;#039;jun&amp;#039;&lt;br /&gt;
			elseif string.sub(m, 3, 3) == &amp;#039;i&amp;#039; then&lt;br /&gt;
				m = &amp;#039;jul&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
		elseif eb == &amp;#039;a&amp;#039; then&lt;br /&gt;
			if m:find(&amp;#039;^a[pvb]&amp;#039;) then&lt;br /&gt;
				m = &amp;#039;apr&amp;#039;&lt;br /&gt;
			elseif m:find(&amp;#039;^a[ugo]&amp;#039;) then&lt;br /&gt;
				m = &amp;#039;aug&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
		elseif eb == &amp;#039;f&amp;#039; then m = &amp;#039;feb&amp;#039;&lt;br /&gt;
		elseif eb == &amp;#039;l&amp;#039; then m = &amp;#039;jul&amp;#039; --olasz&lt;br /&gt;
		elseif eb == &amp;#039;s&amp;#039; then m = &amp;#039;sze&amp;#039;&lt;br /&gt;
		elseif eb == &amp;#039;o&amp;#039; then m = &amp;#039;okt&amp;#039;&lt;br /&gt;
		elseif eb == &amp;#039;n&amp;#039; then m = &amp;#039;nov&amp;#039;&lt;br /&gt;
		elseif eb == &amp;#039;d&amp;#039; then m = &amp;#039;dec&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			return false&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	return	m&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function szokoev(ev)&lt;br /&gt;
	if ev == nil then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	local e = tonumber(ev)&lt;br /&gt;
	if e then -- is numeric?&lt;br /&gt;
		if e % 400 == 0 then return true end&lt;br /&gt;
		if e % 100 == 0 then return false end&lt;br /&gt;
		if e % 4 == 0 then return true end&lt;br /&gt;
	end&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ en_to_hu(de)&lt;br /&gt;
	Angol vagy amerikai angol dátumokból, illetve német, francia, olasz, spanyol&lt;br /&gt;
	 és portugál dátumokból csinál ISO 8604 szabvány szerinti dátumot. Esetleg&lt;br /&gt;
	 bővíthető ez a lista, ha nem vezet kollízióra az idegen neveket értelmező&lt;br /&gt;
	 en_to_hu funkcióban. Hibás dátum esetén false értékkel tér vissza.&lt;br /&gt;
--]]&lt;br /&gt;
local function en_to_hu(de)&lt;br /&gt;
	pop(&amp;#039;en_to_hu indul&amp;#039;)&lt;br /&gt;
	--Az angol dátumokat jó lenne felismernie: &amp;quot;Dec. 10, 2013&amp;quot;. string.lower(s)&lt;br /&gt;
	local ev, ho, nap, maradek&lt;br /&gt;
	if type(de) ~= &amp;#039;string&amp;#039; then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	de = string.gsub(de, &amp;#039; &amp;#039;, &amp;#039;&amp;#039;) -- cseréljük fel a szóközöket üressel&lt;br /&gt;
	de = string.gsub(de, &amp;#039;[%.%-]&amp;#039;, &amp;#039;/&amp;#039;)-- cseréljük fel a pontot és kötőjelet perjellel dec/10/2013&lt;br /&gt;
	--éôûäde = string.gsub(de, &amp;#039;é&amp;#039;, &amp;#039;e&amp;#039;)--éôûäF&lt;br /&gt;
	de = string.lower(de) -- minden kisbetűs&lt;br /&gt;
&lt;br /&gt;
	ev = string.match(de, &amp;#039;%d%d%d%d?&amp;#039;)-- keress a dátumban az évet 2013&lt;br /&gt;
	if ev then&lt;br /&gt;
		maradek = string.gsub(de, ev, &amp;#039;&amp;#039;)&lt;br /&gt;
	else&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	if maradek then&lt;br /&gt;
		pop(&amp;#039;en maradek?&amp;#039;, maradek)&lt;br /&gt;
		-- számmal indul mert little endian&lt;br /&gt;
		maradek = string.gsub(maradek, &amp;#039;/&amp;#039;, &amp;#039;&amp;#039;) -- már nincsenek perjelek dec10, vagy pl dec&lt;br /&gt;
		local i, j&lt;br /&gt;
		i, j = string.match(maradek, &amp;#039;()%d%d?()&amp;#039;)&lt;br /&gt;
		pop(&amp;#039;nap indexei a maradékban=&amp;#039;, i, j)&lt;br /&gt;
		if j then&lt;br /&gt;
			nap = string.sub(maradek, i, j-1)&lt;br /&gt;
		end&lt;br /&gt;
		pop(&amp;#039;nap ?= &amp;#039;, nap)&lt;br /&gt;
&lt;br /&gt;
		if nap then&lt;br /&gt;
			ho = string.gsub(maradek, nap, &amp;#039;&amp;#039;)&lt;br /&gt;
		else&lt;br /&gt;
			ho = maradek&lt;br /&gt;
		end						-- azaz dec10 esetén marad dec, dec esetén pedig ő a hónap&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	de = ev&lt;br /&gt;
	ho = honapsorszamekezetnelkul[month_to_hu(ho)]&lt;br /&gt;
	if ho then&lt;br /&gt;
		de = de .. &amp;#039;-&amp;#039; .. ho&lt;br /&gt;
	end&lt;br /&gt;
	if nap then&lt;br /&gt;
		de = de .. &amp;#039;-&amp;#039; .. nap&lt;br /&gt;
	end -- összeraktuk a dátumot&lt;br /&gt;
	pop(&amp;#039;USA&amp;amp;en átalakult?&amp;#039;, de)&lt;br /&gt;
	local honum = tonumber(ho)&lt;br /&gt;
	pop(&amp;#039;honum&amp;#039;, honum)&lt;br /&gt;
	if honum == nil or 1 &amp;gt; honum or honum &amp;gt; 12 then&lt;br /&gt;
		return false -- hónap sorszáma hibás&lt;br /&gt;
	end&lt;br /&gt;
	pop(&amp;#039;nap=&amp;#039;, nap)&lt;br /&gt;
	pop(&amp;#039;nap típusa: &amp;#039;, type(nap))&lt;br /&gt;
	if nap then&lt;br /&gt;
		local napnum = tonumber(nap)&lt;br /&gt;
		pop(&amp;#039;napnum&amp;#039;, napnum)&lt;br /&gt;
		if napnum ~= nil and 1 &amp;lt;= napnum and napnum &amp;lt;= 31 then&lt;br /&gt;
			pop(&amp;#039;napnum jó?g&amp;#039;, napnum)&lt;br /&gt;
			if szokoev(ev) then&lt;br /&gt;
				honaphossz[2] = 29&lt;br /&gt;
			else&lt;br /&gt;
				honaphossz[2] = 28&lt;br /&gt;
			end&lt;br /&gt;
			if honaphossz[honum] &amp;lt; napnum then&lt;br /&gt;
				return false&lt;br /&gt;
			end -- nap sorszáma hibás&lt;br /&gt;
		else&lt;br /&gt;
			return false&lt;br /&gt;
		end -- nap sorszáma hibás&lt;br /&gt;
	end&lt;br /&gt;
	return de&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function ekezet_le(s)&lt;br /&gt;
	s = string.gsub(s, &amp;#039;á&amp;#039;, &amp;#039;a&amp;#039;)&lt;br /&gt;
	s = string.gsub(s, &amp;#039;é&amp;#039;, &amp;#039;e&amp;#039;)&lt;br /&gt;
	s = string.gsub(s, &amp;#039;í&amp;#039;, &amp;#039;i&amp;#039;)&lt;br /&gt;
	s = string.gsub(s, &amp;#039;ó&amp;#039;, &amp;#039;o&amp;#039;)&lt;br /&gt;
	s = string.gsub(s, &amp;#039;ő&amp;#039;, &amp;#039;ö&amp;#039;)&lt;br /&gt;
	s = string.gsub(s, &amp;#039;ú&amp;#039;, &amp;#039;u&amp;#039;)&lt;br /&gt;
	s = string.gsub(s, &amp;#039;ű&amp;#039;, &amp;#039;ö&amp;#039;)&lt;br /&gt;
	s = string.gsub(s, &amp;#039;ä&amp;#039;, &amp;#039;a&amp;#039;)&lt;br /&gt;
	s = string.gsub(s, &amp;#039;ô&amp;#039;, &amp;#039;o&amp;#039;)&lt;br /&gt;
	s = string.gsub(s, &amp;#039;û&amp;#039;, &amp;#039;u&amp;#039;)&lt;br /&gt;
	return s&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function numdate(de)&lt;br /&gt;
	local ev, ho, nap, i, j, maradek&lt;br /&gt;
	local de, perek = string.gsub(de, &amp;#039;%-&amp;#039;, &amp;#039;/&amp;#039;)&lt;br /&gt;
	pop(&amp;#039;numdate de perekkel = &amp;#039;, de, tostring(perek))&lt;br /&gt;
	if perek == 2 then&lt;br /&gt;
		i, j = string.find(de, &amp;#039;/&amp;#039;)&lt;br /&gt;
		pop(&amp;#039;numdate_2peres, benne hol a perjel = &amp;#039;, i, j)&lt;br /&gt;
		ev = string.sub(de, 1, j-1)&lt;br /&gt;
		maradek = string.sub(de, j+1, -1)&lt;br /&gt;
		pop(&amp;#039;numdate_2peres: év, maradek = &amp;#039; .. ev .. &amp;#039;, &amp;#039; .. maradek)&lt;br /&gt;
		i, j = string.find(maradek, &amp;#039;/&amp;#039;)&lt;br /&gt;
		pop(&amp;#039;numdate_2peres i,j a hóhoz és naphoz = &amp;#039;, i, j)&lt;br /&gt;
		ho = string.sub(maradek, 1, j-1)&lt;br /&gt;
		nap = string.sub(maradek, j+1, -1)&lt;br /&gt;
		pop(&amp;#039;2peres év, maradekban ho, nap = &amp;#039;, ho, nap)&lt;br /&gt;
	elseif perek == 1 then -- van év és hó&lt;br /&gt;
		i, j = string.find(de, &amp;#039;/&amp;#039;)&lt;br /&gt;
		pop(&amp;#039;numdate_1peres, benne hol a perjel = &amp;#039;, i, j)&lt;br /&gt;
		ev = string.sub(de, 1, j-1)&lt;br /&gt;
		ho = string.sub(de, j+1, -1)&lt;br /&gt;
		pop(&amp;#039;numdate_1peres: év, hó = &amp;#039;, ev, ho)&lt;br /&gt;
	else&lt;br /&gt;
		ev = de&lt;br /&gt;
	end&lt;br /&gt;
	if #ev &amp;lt; 3 then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	pop(&amp;#039;év hossza=&amp;#039;, tostring(#ev))&lt;br /&gt;
	if ho then&lt;br /&gt;
		local honum = tonumber(ho)&lt;br /&gt;
		pop(&amp;#039;ho számmal=&amp;#039;, tostring(honum))&lt;br /&gt;
		if honum then&lt;br /&gt;
			if 1 &amp;gt; honum or honum &amp;gt; 12 then&lt;br /&gt;
				-- hónap sorszáma hibás&lt;br /&gt;
				return false&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			if nap then&lt;br /&gt;
				local napnum = tonumber(nap)&lt;br /&gt;
				pop(&amp;#039;nap számmal=&amp;#039;, tostring(napnum))&lt;br /&gt;
				if not (napnum and 1 &amp;lt;= napnum and napnum &amp;lt;= 31) then&lt;br /&gt;
					return false&lt;br /&gt;
				end&lt;br /&gt;
				if szokoev(ev) then&lt;br /&gt;
					honaphossz[2] = 29&lt;br /&gt;
				else&lt;br /&gt;
					honaphossz[2] = 28&lt;br /&gt;
				end&lt;br /&gt;
				if honaphossz[honum] &amp;lt; napnum then&lt;br /&gt;
					pop(&amp;#039;túl a hónaphatáron a nap&amp;#039;)&lt;br /&gt;
					return false -- nap sorszáma hibás&lt;br /&gt;
				else&lt;br /&gt;
					pop(&amp;#039;ellenőrzött év, hó, nap&amp;#039;, ev, ho, nap)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	de = ev&lt;br /&gt;
	if ho and ho ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		de = de .. &amp;#039;-&amp;#039; .. ho&lt;br /&gt;
	end&lt;br /&gt;
	if nap then&lt;br /&gt;
		de = de .. &amp;#039;-&amp;#039; .. nap&lt;br /&gt;
	end&lt;br /&gt;
	pop(&amp;#039;numdate átadja:&amp;#039;, de)&lt;br /&gt;
	return de&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function hudate(de)&lt;br /&gt;
	pop(&amp;#039;hudate indul&amp;#039;)&lt;br /&gt;
	local i, j, ev, ho, nap, maradek&lt;br /&gt;
	pop(de)&lt;br /&gt;
	ev = string.match(de, &amp;#039;^%d%d%d%d?&amp;#039;) -- ééé v. éééé levágva ev-be&lt;br /&gt;
	if not ev then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	pop(&amp;#039;ev=&amp;#039;, ev)&lt;br /&gt;
	local hostring = string.match(de, &amp;#039;%a+&amp;#039;)&lt;br /&gt;
	if hostring then&lt;br /&gt;
		ho = string.sub(hostring, 1, 3)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	pop(&amp;#039;ho=&amp;#039;, ho)&lt;br /&gt;
	if ho then&lt;br /&gt;
		i, j = string.find(de, ho)&lt;br /&gt;
		maradek = string.gsub(string.sub(de, j+1, -1), &amp;#039;%p&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
		nap = string.match(maradek, &amp;#039;%d%d?&amp;#039;)&lt;br /&gt;
		pop(&amp;#039;nap=&amp;#039;, nap)&lt;br /&gt;
	end&lt;br /&gt;
	if isRoman(ho) then&lt;br /&gt;
		ho = decimal[ho]&lt;br /&gt;
		if ho then&lt;br /&gt;
			-- A római számból decimálist csinál a tábla, ebből ismét string kell,&lt;br /&gt;
			-- hogy az if utasítás végén mindenképpen string hónapunk legyen&lt;br /&gt;
			ho = tostring(ho)&lt;br /&gt;
		else&lt;br /&gt;
			return false&lt;br /&gt;
		end&lt;br /&gt;
		pop(&amp;#039;ho rómaiból = &amp;#039;, ho)&lt;br /&gt;
	else&lt;br /&gt;
		ho = honapsorszamekezetnelkul[ho]&lt;br /&gt;
	end&lt;br /&gt;
	if ho then&lt;br /&gt;
		local honum = tonumber(ho)&lt;br /&gt;
		pop(&amp;#039;honum=&amp;#039;, tostring(honum))&lt;br /&gt;
		if honum then&lt;br /&gt;
			if 1 &amp;gt; honum or honum &amp;gt; 12 then&lt;br /&gt;
				-- A hónap sorszáma hibás&lt;br /&gt;
				return false&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			if nap then&lt;br /&gt;
				local napnum = tonumber(nap)&lt;br /&gt;
				pop(&amp;#039;napnum=&amp;#039;, tostring(napnum))&lt;br /&gt;
				if not (napnum and 1 &amp;lt;= napnum and napnum &amp;lt;= 31) then&lt;br /&gt;
					return false&lt;br /&gt;
				end&lt;br /&gt;
				if szokoev(ev) then&lt;br /&gt;
					honaphossz[2] = 29&lt;br /&gt;
				else&lt;br /&gt;
					honaphossz[2] = 28&lt;br /&gt;
				end&lt;br /&gt;
				if honaphossz[honum] &amp;lt; napnum then&lt;br /&gt;
					pop(&amp;#039;fals nap&amp;#039;)&lt;br /&gt;
					return false -- nap sorszáma hibás&lt;br /&gt;
				else&lt;br /&gt;
					pop(&amp;#039;másodszor&amp;#039;, ev, ho, nap)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if ho~= nil and #ho &amp;lt; 2 then&lt;br /&gt;
		ho = &amp;#039;0&amp;#039; .. ho&lt;br /&gt;
	end&lt;br /&gt;
	de = ev&lt;br /&gt;
	if ho then&lt;br /&gt;
		de = de .. &amp;#039;-&amp;#039; .. ho&lt;br /&gt;
	end&lt;br /&gt;
	if nap then&lt;br /&gt;
		de = de .. &amp;#039;-&amp;#039; .. nap&lt;br /&gt;
	end&lt;br /&gt;
	return de&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[ datumszuro(de)&lt;br /&gt;
	megszűri a numerikus éééé-hh-nn, illetve a Dec. 10, 2001, 10 january 2001, 2001. december 10 formákat,&lt;br /&gt;
	leellenőrzi a dátumot (hónaphossz, létező hónap sorszám)&lt;br /&gt;
	és valamennyiből az ISO 8604 szabvány szerinti dátumot csinál&lt;br /&gt;
--]]&lt;br /&gt;
local function datumszuro(de)&lt;br /&gt;
	local log, cserelt&lt;br /&gt;
	if not de then&lt;br /&gt;
		return ou, false&lt;br /&gt;
	end&lt;br /&gt;
	-- Example: 2012-03-14T15:31:00&lt;br /&gt;
	if de:find(&amp;#039;%d%d%d%d%-%d%d%-%d%d&amp;#039;) == 1 and (de:len() == 10 or de:sub(11, 11) == &amp;#039;T&amp;#039;) then&lt;br /&gt;
		local ho, nap = de:match(&amp;#039;%d%d%d%d%-(%d%d)%-(%d%d)&amp;#039;)&lt;br /&gt;
		ho = tonumber(ho)&lt;br /&gt;
		nap = tonumber(nap)&lt;br /&gt;
		if not honaphossz[ho] or nap &amp;lt; 1 or nap &amp;gt; honaphossz[ho] then&lt;br /&gt;
			return ou, false&lt;br /&gt;
		end&lt;br /&gt;
		return ou, de:sub(1, 10)&lt;br /&gt;
	end&lt;br /&gt;
	-- Example: 17.02.1934.&lt;br /&gt;
	if de:match(&amp;#039;^%d%d?%.%s*%d%d?%.%s*%d%d%d%d%.?$&amp;#039;) then&lt;br /&gt;
		local nap, ho, ev = de:match(&amp;#039;(%d%d?)%.%s*(%d%d?)%.%s*(%d%d%d%d)%.?&amp;#039;)&lt;br /&gt;
		ho = tonumber(ho)&lt;br /&gt;
		nap = tonumber(nap)&lt;br /&gt;
		if not honaphossz[ho] or nap &amp;lt; 1 or nap &amp;gt; honaphossz[ho] then&lt;br /&gt;
			return ou, false&lt;br /&gt;
		end&lt;br /&gt;
		return ou, (&amp;#039;%s-%02d-%02d&amp;#039;):format(ev, ho, nap)&lt;br /&gt;
	end&lt;br /&gt;
	de, cserelt = string.gsub(de, &amp;#039;%.&amp;#039;, &amp;#039;-&amp;#039;)&lt;br /&gt;
	if cserelt == 2 then&lt;br /&gt;
		de = string.gsub(de, &amp;#039;%-*$&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
	end -- ha a végén van kötőjel, lecsipjük&lt;br /&gt;
	pop(&amp;#039;datumszurodatuma paramétere= &amp;#039;, de)&lt;br /&gt;
	de = ekezet_le(de)&lt;br /&gt;
	pop(&amp;#039;ékezetek nélküli dátum=&amp;#039;, de)&lt;br /&gt;
	de = string.gsub(de, &amp;#039;%s&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
	local i, j = string.match(de, &amp;#039;()%d%d%d%d?()&amp;#039;)&lt;br /&gt;
	if not j then&lt;br /&gt;
		return ou, false -- mert nincs év a dátumban&lt;br /&gt;
	else&lt;br /&gt;
		-- ha j == 5, akkor a dátum elején áll az év, magyar a dátum vagy ISO&lt;br /&gt;
		pop(i, j, string.sub(de, i, j-1))&lt;br /&gt;
	end&lt;br /&gt;
	if not de or type(de)~= &amp;#039;string&amp;#039; then&lt;br /&gt;
		return ou, false&lt;br /&gt;
	end&lt;br /&gt;
	local d2 = string.gsub(de, &amp;#039;[%p%-]&amp;#039;, &amp;#039;&amp;#039;) -- punctuation, kötjel is üres lesz&lt;br /&gt;
	pop(&amp;#039;d2 van benne kötjel?&amp;#039;, d2)&lt;br /&gt;
	d2 = tonumber(d2)&lt;br /&gt;
	pop(&amp;#039;d2 mint szám&amp;#039;, d2)&lt;br /&gt;
	if d2 then&lt;br /&gt;
		--[[ a dátum számjegyes&lt;br /&gt;
		  adB1) keresünk %d%d%d%d? mintával négy- vagy háromjegyű decimálist a dátumban&lt;br /&gt;
		      ha van, megnézzük, hogy hol van ő a dátreturn 1, false endumban,&lt;br /&gt;
		      ha elől akkor tényleg magyar a dátum (átadjuk a kezelőjének: ennek nagy része már megvan az datumoutput-ban)&lt;br /&gt;
		      különben ad B2) höz&lt;br /&gt;
		--]]&lt;br /&gt;
		log = numdate(de)&lt;br /&gt;
		if log == false then&lt;br /&gt;
			-- hibás a dátum&lt;br /&gt;
			return ou, false&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		-- betűk is vannak d2-ben&lt;br /&gt;
		local i, j = string.match(de, &amp;#039;^()%d%d%d%d?()&amp;#039;)&lt;br /&gt;
		if j == 5 then&lt;br /&gt;
			log = hudate(de)-- mert magyar a dátum&lt;br /&gt;
			pop(&amp;#039;hudate utáni dátum= &amp;#039;, log)-- meghívjuk a magyar dátum lekezelését log vagy false, vagy a magyar dátum&lt;br /&gt;
		else&lt;br /&gt;
			log = en_to_hu(de)&lt;br /&gt;
			pop(&amp;#039;en_to_hu utáni dátum= &amp;#039;, log)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if log == false then&lt;br /&gt;
		-- hibás a dátum&lt;br /&gt;
		return ou, false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	pop(&amp;#039;dátum a dátumszűrés végén = &amp;#039;, log)&lt;br /&gt;
	return ou, log -- azaz a dátum&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function honapnevesdate(isodate)&lt;br /&gt;
	local ev, ho, nap, i, j, maradek, de&lt;br /&gt;
	if not isodate then&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
	isodate = string.gsub(isodate, &amp;#039;%s+&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
	i, j = string.find(isodate, &amp;#039;-&amp;#039;)&lt;br /&gt;
	if i then&lt;br /&gt;
		ev, maradek = string.match(isodate, &amp;#039;(%d+)%s*%-%s*([%d%p%-]+)&amp;#039;) --, ho, nap --%-%s*(%d+)%s*%s*(%d+)%s&amp;quot;&lt;br /&gt;
		pop(&amp;#039;isodate ev,maradek=&amp;#039;, ev, maradek)&lt;br /&gt;
		i, j = string.find(maradek, &amp;#039;-&amp;#039;)&lt;br /&gt;
		if i then&lt;br /&gt;
			ho, nap = string.match(maradek, &amp;#039;(%d+)%s*%-%s*([%d%p%-]+)&amp;#039;)&lt;br /&gt;
			pop(&amp;#039;isodate ho, nap = &amp;#039;, tostring(ho), nap)&lt;br /&gt;
		else&lt;br /&gt;
			ho = maradek&lt;br /&gt;
		end&lt;br /&gt;
		ho = honapok[tonumber(ho)]&lt;br /&gt;
	else&lt;br /&gt;
		ev = isodate&lt;br /&gt;
	end&lt;br /&gt;
	de = ev&lt;br /&gt;
	if ho then&lt;br /&gt;
		de = de .. &amp;#039;. &amp;#039; .. ho&lt;br /&gt;
	end&lt;br /&gt;
	if nap then&lt;br /&gt;
		de = de .. &amp;#039; &amp;#039; .. tonumber(nap) .. &amp;#039;.&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return de&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- csak a dátumszűrés és a honapnevesdate publikus a modulból&lt;br /&gt;
local p = {&lt;br /&gt;
	datumszuro = datumszuro,&lt;br /&gt;
	honapnevesdate = honapnevesdate&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function p.toIsoDate(frame)&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	if not args[1] then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local _, isoDate = datumszuro(args[1])&lt;br /&gt;
	if not isoDate then&lt;br /&gt;
		return args[1]&lt;br /&gt;
	end&lt;br /&gt;
	return isoDate&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>w&gt;Bean49</name></author>
	</entry>
</feed>