<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FAngr_pukhlya%2F2%2FTask_07</id>
	<title>Module:Sandbox/Angr pukhlya/2/Task 07 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FAngr_pukhlya%2F2%2FTask_07"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Angr_pukhlya/2/Task_07&amp;action=history"/>
	<updated>2026-06-19T07:15:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Sandbox/Angr_pukhlya/2/Task_07&amp;diff=145130&amp;oldid=prev</id>
		<title>imported&gt;StraussInTheHouse: StraussInTheHouse moved page Module:Angr lua 2/Task 07 to Module:Sandbox/Angr pukhlya/2/Task 07 without leaving a redirect: Per consensus at 875507098.</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Angr_pukhlya/2/Task_07&amp;diff=145130&amp;oldid=prev"/>
		<updated>2018-12-27T02:04:23Z</updated>

		<summary type="html">&lt;p&gt;StraussInTheHouse moved page &lt;a href=&quot;/index.php?title=Module:Angr_lua_2/Task_07&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Module:Angr lua 2/Task 07 (page does not exist)&quot;&gt;Module:Angr lua 2/Task 07&lt;/a&gt; to &lt;a href=&quot;/research/Module:Sandbox/Angr_pukhlya/2/Task_07&quot; title=&quot;Module:Sandbox/Angr pukhlya/2/Task 07&quot;&gt;Module:Sandbox/Angr pukhlya/2/Task 07&lt;/a&gt; without leaving a redirect: Per consensus at 875507098.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
p.date_formatting = function( frame )&lt;br /&gt;
	-- Unpacking date&lt;br /&gt;
	local date = frame.args.date or &amp;quot;Invalid entry&amp;quot;&lt;br /&gt;
	local format = frame.args.format or &amp;quot;&amp;quot;&lt;br /&gt;
	months = {&amp;quot;January&amp;quot;, &amp;quot;February&amp;quot;, &amp;quot;March&amp;quot;, &amp;quot;April&amp;quot;, &amp;quot;May&amp;quot;, &amp;quot;June&amp;quot;, &amp;quot;July&amp;quot;,&lt;br /&gt;
		&amp;quot;August&amp;quot;, &amp;quot;September&amp;quot;, &amp;quot;October&amp;quot;, &amp;quot;November&amp;quot;, &amp;quot;December&amp;quot;,&lt;br /&gt;
		[&amp;quot;January&amp;quot;] = &amp;quot;01&amp;quot;, [&amp;quot;February&amp;quot;] = &amp;quot;02&amp;quot;, [&amp;quot;March&amp;quot;] = &amp;quot;03&amp;quot;,&lt;br /&gt;
		[&amp;quot;April&amp;quot;] = &amp;quot;04&amp;quot;, [&amp;quot;May&amp;quot;] = &amp;quot;05&amp;quot;, [&amp;quot;June&amp;quot;] = &amp;quot;06&amp;quot;, [&amp;quot;July&amp;quot;] = &amp;quot;07&amp;quot;,&lt;br /&gt;
		[&amp;quot;August&amp;quot;] = &amp;quot;08&amp;quot;, [&amp;quot;September&amp;quot;] = &amp;quot;09&amp;quot;, [&amp;quot;October&amp;quot;] = &amp;quot;10&amp;quot;,&lt;br /&gt;
		[&amp;quot;November&amp;quot;] = &amp;quot;11&amp;quot;, [&amp;quot;December&amp;quot;] = &amp;quot;12&amp;quot;}&lt;br /&gt;
	local year, day = string.match(date, &amp;quot;%D*(%d*)%D*(%d*)%D*&amp;quot;)&lt;br /&gt;
	local ans = &amp;quot;&amp;quot;&lt;br /&gt;
	if year ~= &amp;quot;&amp;quot; and day ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		if tonumber(day) &amp;gt; 31 then&lt;br /&gt;
			if tonumber(year) &amp;lt;= 31 then&lt;br /&gt;
				day, year = year, day&lt;br /&gt;
			else&lt;br /&gt;
				ans = &amp;quot;Invalid entry&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local k = nil&lt;br /&gt;
	local month = &amp;quot;&amp;quot;&lt;br /&gt;
	for i = 1, #months do&lt;br /&gt;
		k = string.find(date, months[i])&lt;br /&gt;
		if k == nil then&lt;br /&gt;
			k = string.find(date, string.lower(string.sub(months[i], 1, 1)) .. string.sub(months[i], 2))&lt;br /&gt;
		end&lt;br /&gt;
		if k == nil then&lt;br /&gt;
			k = string.find(date, string.lower(string.sub(months[i], 1, 1)) .. string.sub(months[i], 2, 3))&lt;br /&gt;
		end&lt;br /&gt;
		if k == nil then&lt;br /&gt;
			k = string.find(date, string.sub(months[i], 1, 1) .. string.sub(months[i], 2, 3))&lt;br /&gt;
		end&lt;br /&gt;
		if k ~= nil then&lt;br /&gt;
			month = months[i]&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if day ~= &amp;quot;&amp;quot; and year ~= &amp;quot;&amp;quot; and month == &amp;quot;&amp;quot; and string.find(date, &amp;quot;[-,/]&amp;quot;) ~= nil then&lt;br /&gt;
		day, month, year = string.match(date, &amp;quot;(%d+)[-, /](%d+)[-, /](%d+)&amp;quot;)&lt;br /&gt;
		right = {}&lt;br /&gt;
	for i = 1, 12 do&lt;br /&gt;
		if i == 2 then&lt;br /&gt;
			if year % 400 == 0 or (year % 100 ~= 0 and year % 4 == 0) then&lt;br /&gt;
				right[i] = 29&lt;br /&gt;
			else&lt;br /&gt;
				right[i] = 28&lt;br /&gt;
			end&lt;br /&gt;
		elseif i &amp;lt;= 7 then&lt;br /&gt;
			right[i] = 30 + i % 2&lt;br /&gt;
		else&lt;br /&gt;
			right[i] = 31 - i % 2&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
		local a, b, c = day, month, year&lt;br /&gt;
		if tonumber(a) &amp;gt; 31 then&lt;br /&gt;
			year = a&lt;br /&gt;
		elseif tonumber(b) &amp;gt; 31 then&lt;br /&gt;
			year = b&lt;br /&gt;
		elseif tonumber(c) &amp;gt; 31 then&lt;br /&gt;
			year = c&lt;br /&gt;
		end&lt;br /&gt;
		if tonumber(a) &amp;gt; 12 and year ~= nil and year ~= a then&lt;br /&gt;
			day = a&lt;br /&gt;
		elseif tonumber(b) &amp;gt; 12 and year ~= nil and year ~= b then&lt;br /&gt;
			day = b&lt;br /&gt;
		elseif tonumber(c) &amp;gt; 12 and year ~= nil and year ~= c then&lt;br /&gt;
			day = c&lt;br /&gt;
		end&lt;br /&gt;
		if (year == a and day == b) or (year == b and day == a) then&lt;br /&gt;
			month = months[tonumber(c)]&lt;br /&gt;
		elseif (year == b and day == c) or (year == c and day == b) then&lt;br /&gt;
			month = months[a]&lt;br /&gt;
		elseif (year == a and day == c) or (year == c and day == a) then&lt;br /&gt;
			month = months[tonumber(b)]&lt;br /&gt;
		else&lt;br /&gt;
			day, month, year = a, months[tonumber(b)], c&lt;br /&gt;
		end&lt;br /&gt;
		if right[months[month]] &amp;lt; day then&lt;br /&gt;
			if right[months[tonumber(a)]] &amp;gt;= year then&lt;br /&gt;
				day, year = year, day&lt;br /&gt;
			else&lt;br /&gt;
				ans = &amp;quot;Invalid entry&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
        if month == &amp;quot;&amp;quot; and day == &amp;quot;&amp;quot; and year == &amp;quot;&amp;quot; then&lt;br /&gt;
		ans = &amp;quot;Invalid entry&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
	right = {}&lt;br /&gt;
	for i = 1, 12 do&lt;br /&gt;
		if i == 2 then&lt;br /&gt;
			if year % 400 == 0 or (year % 100 ~= 0 and year % 4 == 0) then&lt;br /&gt;
				right[i] = 29&lt;br /&gt;
			else&lt;br /&gt;
				right[i] = 28&lt;br /&gt;
			end&lt;br /&gt;
		elseif i &amp;lt;= 7 then&lt;br /&gt;
			right[i] = 30 + i % 2&lt;br /&gt;
		else&lt;br /&gt;
			right[i] = 31 - i % 2&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if right[tonumber(months[month])] ~= nil and day ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		if right[tonumber(months[month])] &amp;lt; tonumber(day) then&lt;br /&gt;
			ans = &amp;quot;Invalid entry&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
        elseif month == &amp;quot;&amp;quot; and day ~= &amp;quot;&amp;quot; and year ~= &amp;quot;&amp;quot; and string.find(date, &amp;quot;%a&amp;quot;) ~= nil then&lt;br /&gt;
                ans = &amp;quot;Invalid entry&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
        end&lt;br /&gt;
	--Formatting unpacked date&lt;br /&gt;
        local format_old = &amp;quot;&amp;quot;&lt;br /&gt;
        if day ~= &amp;quot;&amp;quot; and year ~= &amp;quot;&amp;quot; and month ~= &amp;quot;&amp;quot; then&lt;br /&gt;
                if string.find(date, &amp;quot;,&amp;quot;) ~= nil then&lt;br /&gt;
                        format_old = &amp;quot;mdy&amp;quot;&lt;br /&gt;
                elseif string.find(date, &amp;quot;[-,/]&amp;quot;) ~= nil then&lt;br /&gt;
                        format_old = &amp;quot;iso&amp;quot;&lt;br /&gt;
                else&lt;br /&gt;
                        format_old = &amp;quot;dmy&amp;quot;&lt;br /&gt;
                end&lt;br /&gt;
        elseif year ~= &amp;quot;&amp;quot; and month ~= &amp;quot;&amp;quot; then&lt;br /&gt;
                format_old = &amp;quot;month and year&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
                format_old = &amp;quot;year&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
	local u_date = &amp;quot;&amp;quot;&lt;br /&gt;
	local dop = &amp;quot;&amp;quot;&lt;br /&gt;
        if format == &amp;quot;&amp;quot; then&lt;br /&gt;
             format = format_old&lt;br /&gt;
end&lt;br /&gt;
	if ans ~= &amp;quot;Invalid entry&amp;quot; then&lt;br /&gt;
		if format == &amp;quot;mdy&amp;quot; then&lt;br /&gt;
			u_date = month .. &amp;quot; &amp;quot; .. day .. &amp;quot;, &amp;quot; .. year&lt;br /&gt;
		elseif format == &amp;quot;dmy&amp;quot; then&lt;br /&gt;
			u_date = day .. &amp;quot; &amp;quot; .. month .. &amp;quot; &amp;quot; .. year&lt;br /&gt;
		elseif format == &amp;quot;iso&amp;quot; then&lt;br /&gt;
			u_date = year .. &amp;quot;-&amp;quot; .. months[month] .. &amp;quot;-&amp;quot; .. day&lt;br /&gt;
		elseif format == &amp;quot;year&amp;quot; then&lt;br /&gt;
			u_date = year&lt;br /&gt;
		elseif format == &amp;quot;month and year&amp;quot; then&lt;br /&gt;
			u_date = month .. &amp;quot; &amp;quot; .. year&lt;br /&gt;
		else&lt;br /&gt;
			u_date = day .. &amp;quot; &amp;quot; .. month .. &amp;quot; &amp;quot; .. year&lt;br /&gt;
		end&lt;br /&gt;
		if string.find(date, &amp;quot;(uncertain)&amp;quot;) ~= nil or string.find(date, &amp;quot;around&amp;quot;) ~= nil then&lt;br /&gt;
			dop = &amp;quot;circa &amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	else &lt;br /&gt;
		u_date = ans&lt;br /&gt;
	end&lt;br /&gt;
	return dop .. u_date&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;StraussInTheHouse</name></author>
	</entry>
</feed>