<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ar">
	<id>https://3rabica.org/index.php?action=history&amp;feed=atom&amp;title=%D9%88%D8%AD%D8%AF%D8%A9%3AWikidata2%2FP569-P570</id>
	<title>وحدة:Wikidata2/P569-P570 - تاريخ المراجعة</title>
	<link rel="self" type="application/atom+xml" href="https://3rabica.org/index.php?action=history&amp;feed=atom&amp;title=%D9%88%D8%AD%D8%AF%D8%A9%3AWikidata2%2FP569-P570"/>
	<link rel="alternate" type="text/html" href="https://3rabica.org/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Wikidata2/P569-P570&amp;action=history"/>
	<updated>2026-06-06T00:46:48Z</updated>
	<subtitle>تاريخ التعديل لهذه الصفحة في الويكي</subtitle>
	<generator>MediaWiki 1.43.7</generator>
	<entry>
		<id>https://3rabica.org/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Wikidata2/P569-P570&amp;diff=492&amp;oldid=prev</id>
		<title>عبد العزيز: غيّر إعدادات حماية »وحدة:Wikidata2/P569-P570«: بوت: [https://w.wiki/7NGP تحسين مستوي الحماية] ([تعديل=السماح للمحررين فقط] (غير محدد) [النقل=السماح للمحررين فقط] (غير محدد))</title>
		<link rel="alternate" type="text/html" href="https://3rabica.org/index.php?title=%D9%88%D8%AD%D8%AF%D8%A9:Wikidata2/P569-P570&amp;diff=492&amp;oldid=prev"/>
		<updated>2023-09-01T20:22:35Z</updated>

		<summary type="html">&lt;p&gt;غيّر إعدادات حماية »&lt;a href=&quot;/%D9%88%D8%AD%D8%AF%D8%A9:Wikidata2/P569-P570&quot; title=&quot;وحدة:Wikidata2/P569-P570&quot;&gt;وحدة:Wikidata2/P569-P570&lt;/a&gt;«: بوت: [https://w.wiki/7NGP تحسين مستوي الحماية] ([تعديل=السماح للمحررين فقط] (غير محدد) [النقل=السماح للمحررين فقط] (غير محدد))&lt;/p&gt;
&lt;p&gt;&lt;b&gt;صفحة جديدة&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--[[&lt;br /&gt;
&lt;br /&gt;
{{#invoke:ملعب/Mr. Ibrahem/5|getdate|P569}}&lt;br /&gt;
{{#invoke:ملعب/Mr. Ibrahem/5|getdate|P570}}&lt;br /&gt;
--]]&lt;br /&gt;
local ModuleTime = require &amp;#039;Module:wikidata2/time&amp;#039;&lt;br /&gt;
local tempname = &amp;#039;تاريخ الوفاة والعمر&amp;#039;&lt;br /&gt;
local p = {}&lt;br /&gt;
local o3 = &amp;#039;[[category:صفحات بها تواريخ بحاجة لمراجعة]]&amp;#039;&lt;br /&gt;
function getdatepart(time , option)&lt;br /&gt;
	if time and time ~=&amp;#039;&amp;#039; then&lt;br /&gt;
		if option ==&amp;#039;y&amp;#039; then&lt;br /&gt;
			return tonumber(string.sub(time, 2, 5))&lt;br /&gt;
	    elseif option ==&amp;#039;m&amp;#039; then&lt;br /&gt;
			return tonumber(string.sub(time, 7, 8))&lt;br /&gt;
	    elseif option ==&amp;#039;d&amp;#039; then&lt;br /&gt;
			return tonumber(string.sub(time, 10, 11))&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function category(property, y, m, d)&lt;br /&gt;
	if mw.title.getCurrentTitle().namespace ~= 0 then return &amp;#039;&amp;#039; end&lt;br /&gt;
	if property == &amp;#039;P569&amp;#039; &lt;br /&gt;
		then prf = &amp;#039;مواليد &amp;#039;&lt;br /&gt;
			if d and m then cat2 = prf .. d.. &amp;#039; &amp;#039; .. m end&lt;br /&gt;
	elseif property == &amp;#039;P570&amp;#039; &lt;br /&gt;
		then prf = &amp;#039;وفيات &amp;#039;&lt;br /&gt;
	end	&lt;br /&gt;
	if y then cat = &amp;#039; [[تصنيف:&amp;#039;.. prf .. y ..&amp;#039;]]&amp;#039; end&lt;br /&gt;
	if cat2 then cate =  &amp;#039; [[تصنيف:&amp;#039;.. cat2 ..&amp;#039;]]&amp;#039; end&lt;br /&gt;
	return (cat or &amp;#039;&amp;#039;) ..  (cate or &amp;#039;&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getprop(propertyID,modifytime,entity)&lt;br /&gt;
	local val = formatStatements( {property =propertyID ,entityId=entity , modifytime =modifytime, noref=&amp;#039;true&amp;#039; , firstvalue=&amp;#039;true&amp;#039; })&lt;br /&gt;
	mw.log( val )&lt;br /&gt;
	return val&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function mathyears(year, Ryear, month, Rmonth)&lt;br /&gt;
--	Ryear = Date( &amp;quot;%Y&amp;quot; )&lt;br /&gt;
--	Rmonth =Date( &amp;quot;%m&amp;quot; )&lt;br /&gt;
--	Rday = os.date( &amp;quot;%e&amp;quot; )&lt;br /&gt;
	--	if string.sub(Ryear, 1, 1) == &amp;#039;-&amp;#039; then Ryear = &amp;#039;+&amp;#039; .. string.sub(Ryear, 2) end&lt;br /&gt;
	&lt;br /&gt;
	if month and month ~=&amp;#039;&amp;#039;&lt;br /&gt;
	then&lt;br /&gt;
		if Rmonth &amp;lt; month&lt;br /&gt;
		then &lt;br /&gt;
			val = Ryear - year - 1&lt;br /&gt;
		else &lt;br /&gt;
			if Rmonth &amp;gt; month&lt;br /&gt;
				then val = Ryear - year&lt;br /&gt;
				else val = Ryear - year - 1 ..&amp;#039;&amp;amp;ndash;&amp;#039; .. Ryear - year&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		val = Ryear - year - 1 ..&amp;#039;&amp;amp;ndash;&amp;#039; .. Ryear - year&lt;br /&gt;
		--mw.log( &amp;quot;val..&amp;quot; .. val )&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	if (Ryear - year) &amp;lt; 0 &lt;br /&gt;
		then val = val .. o3 &lt;br /&gt;
	elseif (Ryear - year) &amp;gt; 150 &lt;br /&gt;
		then val = val .. o3 &lt;br /&gt;
	elseif (year - Ryear) &amp;gt; 150 &lt;br /&gt;
		then val = val .. o3 &lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return val&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local agecat = { &amp;quot;111&amp;quot;,&amp;quot;112&amp;quot;,&amp;quot;116&amp;quot;,&amp;quot;95&amp;quot;,&amp;quot;96&amp;quot;,&amp;quot;97&amp;quot;,&amp;quot;98&amp;quot;,&amp;quot;99&amp;quot;,&amp;quot;100&amp;quot;,&amp;quot;101&amp;quot;,&amp;quot;102&amp;quot;,&amp;quot;103&amp;quot;,&amp;quot;104&amp;quot;,&amp;quot;105&amp;quot;,&amp;quot;106&amp;quot;,&amp;quot;107&amp;quot;,&amp;quot;108&amp;quot;,&amp;quot;110&amp;quot;,&amp;quot;75&amp;quot;,&amp;quot;91&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
function age(v, pr, add, property)&lt;br /&gt;
	local v_old = v&lt;br /&gt;
	if add and add ~=&amp;#039;&amp;#039; then return &amp;#039;&amp;#039; else end&lt;br /&gt;
	--	if string.sub(Ryear, 1, 1) == &amp;#039;-&amp;#039; then Ryear = &amp;#039;+&amp;#039; .. string.sub(Ryear, 2) end&lt;br /&gt;
	--	val =  mathyears(year, Ryear, month, Rmonth)&lt;br /&gt;
	v2 = tostring(v)&lt;br /&gt;
	if pr and pr ~=&amp;#039;&amp;#039; then&lt;br /&gt;
		v = &amp;#039;العمر &amp;#039; .. v&lt;br /&gt;
	end&lt;br /&gt;
	ii =  &amp;#039; (&amp;#039; .. v ..&amp;#039; سنة)&amp;#039;&lt;br /&gt;
	if property and property == &amp;quot;P570&amp;quot; then &lt;br /&gt;
		Age_cat = false&lt;br /&gt;
		for k, l in pairs(agecat) do&lt;br /&gt;
			if v2 == l then &lt;br /&gt;
				Age_cat = true&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if Age_cat then&lt;br /&gt;
			ii = ii .. &amp;#039;[[category:وفيات بعمر &amp;#039; .. v .. &amp;#039;]]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local start = mw.ustring.find( v, o3, 1, true )&lt;br /&gt;
	if start == 0 or start == nil then&lt;br /&gt;
		return ii&lt;br /&gt;
	else&lt;br /&gt;
		return o3&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function mathfulldate(yb, mb, db, Yd, Md, Dd)&lt;br /&gt;
	yd = Yd or tonumber(os.date( &amp;quot;%Y&amp;quot; ))&lt;br /&gt;
	md = Md or tonumber(os.date( &amp;quot;%m&amp;quot; ))&lt;br /&gt;
	dd = Dd or tonumber(os.date( &amp;quot;%e&amp;quot; ))&lt;br /&gt;
	function ma(f,s)&lt;br /&gt;
		if f &amp;lt; s &lt;br /&gt;
			then return &amp;#039;1&amp;#039;&lt;br /&gt;
			elseif f == s then return &amp;#039;1&amp;#039;&lt;br /&gt;
			else return &amp;#039;0&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	function foo(f,s)&lt;br /&gt;
		if f &amp;lt; s &lt;br /&gt;
			then return &amp;#039;1&amp;#039;&lt;br /&gt;
			else return &amp;#039;0&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end	&lt;br /&gt;
	if not foo(db,db) == &amp;#039;0&amp;#039; or not ma(md,mb) == &amp;#039;0&amp;#039;&lt;br /&gt;
		then vv = &amp;#039;1&amp;#039;&lt;br /&gt;
		else vv = &amp;#039;0&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	val = (yd)-(yb)-(vv)&lt;br /&gt;
	if (yd - yb) &amp;gt; 150 then val = val .. o3 elseif (yb - yd) &amp;gt; 150 then val = val .. o3 end&lt;br /&gt;
	return val&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function linkdate(property, y, m, d)&lt;br /&gt;
			if y then year = &amp;#039;[[&amp;#039;..y ..&amp;#039;]]&amp;#039; end&lt;br /&gt;
			if m &lt;br /&gt;
				then &lt;br /&gt;
					if d&lt;br /&gt;
					then md = &amp;#039;[[&amp;#039;.. d ..&amp;#039; &amp;#039; .. m ..&amp;#039;]] &amp;#039;&lt;br /&gt;
					else md = &amp;#039;[[&amp;#039;.. m ..&amp;#039;]] &amp;#039;&lt;br /&gt;
					end&lt;br /&gt;
				else &lt;br /&gt;
				year = &amp;#039;سنة &amp;#039; .. year&lt;br /&gt;
			end	&lt;br /&gt;
		return (md or &amp;#039;&amp;#039;) .. year .. category(property, y, m, d)&lt;br /&gt;
	end	&lt;br /&gt;
	&lt;br /&gt;
function getP570(P570precision,Timev,entity,P569precision,P569time)&lt;br /&gt;
--	local P569precision = P569pre or getprop(&amp;#039;P569&amp;#039;,&amp;#039;precision&amp;#039;,entity)&lt;br /&gt;
--	local P569time =   P569tim or getprop(&amp;#039;P569&amp;#039;,&amp;#039;q&amp;#039;,entity)&lt;br /&gt;
	if string.sub(Timev, 1, 1) == &amp;#039;-&amp;#039; then&lt;br /&gt;
		timev = &amp;#039;+&amp;#039; .. string.sub(Timev, 2)&lt;br /&gt;
		P570addon =  &amp;#039; ق م&amp;#039;&lt;br /&gt;
	else &lt;br /&gt;
		timev= Timev&lt;br /&gt;
	end&lt;br /&gt;
	if P569time and P569time ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		if string.sub(P569time, 1, 1) == &amp;#039;-&amp;#039; then&lt;br /&gt;
			P569time = &amp;#039;+&amp;#039; .. string.sub(P569time, 2)&lt;br /&gt;
			P569addon =  &amp;#039; ق م&amp;#039;&lt;br /&gt;
		end &lt;br /&gt;
	end&lt;br /&gt;
	local Dyear = getdatepart(timev,&amp;#039;y&amp;#039;)&lt;br /&gt;
	local Dmonth =getdatepart(timev,&amp;#039;m&amp;#039;)&lt;br /&gt;
	local Dmonthname =mw.getContentLanguage():formatDate( &amp;#039;F&amp;#039;, timev )&lt;br /&gt;
	local Dday =getdatepart(timev,&amp;#039;d&amp;#039;)&lt;br /&gt;
	local year = getdatepart(P569time ,&amp;#039;y&amp;#039;)&lt;br /&gt;
	local month =getdatepart(P569time ,&amp;#039;m&amp;#039;)&lt;br /&gt;
	local monthname =mw.getContentLanguage():formatDate( &amp;#039;F&amp;#039;, P569time )&lt;br /&gt;
	local day =getdatepart(P569time ,&amp;#039;d&amp;#039;)&lt;br /&gt;
	--	if P570precision and P570precision~= &amp;#039;&amp;#039; &lt;br /&gt;
	--		then&lt;br /&gt;
	--mw.log( &amp;#039;P569precision: &amp;#039;.. P569precision )&lt;br /&gt;
	--mw.log( &amp;#039;P570precision: &amp;#039;.. P570precision )&lt;br /&gt;
	if P569precision and P569precision  ~= &amp;#039;&amp;#039;  then &lt;br /&gt;
		-- Death date is full&lt;br /&gt;
		if P570precision == 11 or P570precision == &amp;#039;11&amp;#039; then &lt;br /&gt;
			if P569precision == 11 or P569precision == &amp;#039;11&amp;#039; then &lt;br /&gt;
				--doo = mathfulldate(year, month, day, Dyear, Dmonth, Dday)&lt;br /&gt;
				--dii = linkdate(&amp;#039;P570&amp;#039;,  Dyear .. (P570addon or &amp;#039;&amp;#039;), Dmonthname, Dday) .. age(doo, &amp;#039;&amp;#039;, P570addon or P569addon , &amp;quot;P570&amp;quot;)&lt;br /&gt;
				 dii  = mw.getCurrentFrame():expandTemplate{ title = tempname , args = { Dyear, Dmonth, Dday , year, month, day} } &lt;br /&gt;
			elseif P569precision == 10 or P569precision == &amp;#039;10&amp;#039; or P569precision == 9 or P569precision == &amp;#039;9&amp;#039; then  &lt;br /&gt;
				dii = linkdate(&amp;#039;P570&amp;#039;,  Dyear .. (P570addon or &amp;#039;&amp;#039;), Dmonthname, Dday) .. age(mathyears(year, Dyear), &amp;#039;&amp;#039;,  P570addon or P569addon, &amp;quot;P570&amp;quot;)&lt;br /&gt;
			else&lt;br /&gt;
				dii  = ModuleTime.getdate( {time=Timev ,precision=tonumber(P570precision)} , {})&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
		-- Death date is year&lt;br /&gt;
		elseif P570precision == 10 or P570precision == &amp;#039;10&amp;#039; then&lt;br /&gt;
			dii = linkdate(&amp;#039;P570&amp;#039;,  Dyear .. (P570addon or &amp;#039;&amp;#039;), Dmonthname) .. age(mathyears(year, Dyear), &amp;#039;&amp;#039;,  P570addon or P569addon, &amp;quot;P570&amp;quot;)&lt;br /&gt;
			&lt;br /&gt;
		elseif P570precision == 9 or P570precision == &amp;#039;9&amp;#039; then&lt;br /&gt;
			--#######################&lt;br /&gt;
			if P569precision == 10 or P569precision == &amp;#039;10&amp;#039; or P569precision == 9 or P569precision == &amp;#039;9&amp;#039; then  &lt;br /&gt;
				dii = linkdate(&amp;#039;P570&amp;#039;,  Dyear .. (P570addon or &amp;#039;&amp;#039;)) .. age(mathyears(year, Dyear), &amp;#039;&amp;#039;,  P570addon or P569addon, &amp;quot;P570&amp;quot;)&lt;br /&gt;
			else&lt;br /&gt;
				dii = linkdate(&amp;#039;P570&amp;#039;,  Dyear .. (P570addon or &amp;#039;&amp;#039;))&lt;br /&gt;
			end&lt;br /&gt;
			--#######################&lt;br /&gt;
		else&lt;br /&gt;
			dii  = ModuleTime.getdate( {time=Timev ,precision=tonumber(P570precision)} , {})&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		-- no P569 date&lt;br /&gt;
		if P570precision == 11 or P570precision == &amp;#039;11&amp;#039; then &lt;br /&gt;
			dii = linkdate(&amp;#039;P570&amp;#039;,  Dyear .. (P570addon or &amp;#039;&amp;#039;), Dmonthname, Dday)&lt;br /&gt;
		elseif P570precision  == 10 or P570precision  == &amp;#039;10&amp;#039; then &lt;br /&gt;
				dii = linkdate(&amp;#039;P570&amp;#039;,  Dyear .. (P570addon or &amp;#039;&amp;#039;), Dmonthname)&lt;br /&gt;
		elseif P570precision == 9 or P570precision == &amp;#039;9&amp;#039; then &lt;br /&gt;
			dii  =linkdate(&amp;#039;P570&amp;#039;,  Dyear .. (P570addon or &amp;#039;&amp;#039;))&lt;br /&gt;
		else &lt;br /&gt;
			dii  = ModuleTime.getdate( {time=Timev ,precision=tonumber(P570precision)} , {})&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	--		else&lt;br /&gt;
	--	end&lt;br /&gt;
	return dii -- .. (P570addon or &amp;#039;&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getP569(P569precision,Timev,entity,P570precision)&lt;br /&gt;
--	local P570precision = P570pre or getprop(&amp;#039;P570&amp;#039;,&amp;#039;precision&amp;#039;,entity)   &lt;br /&gt;
--	local P570time = getprop(&amp;#039;P570&amp;#039;,&amp;#039;q&amp;#039;,entity)&lt;br /&gt;
	local P569addon = &amp;#039;&amp;#039;&lt;br /&gt;
	if string.sub(Timev, 1, 1) == &amp;#039;-&amp;#039; then&lt;br /&gt;
		timev = &amp;#039;+&amp;#039; .. string.sub(Timev, 2)&lt;br /&gt;
		P569addon =  &amp;#039; ق م&amp;#039;&lt;br /&gt;
	else &lt;br /&gt;
		timev= Timev&lt;br /&gt;
	end&lt;br /&gt;
	local year =  getdatepart(timev,&amp;#039;y&amp;#039;)&lt;br /&gt;
	local month = getdatepart(timev,&amp;#039;m&amp;#039;)&lt;br /&gt;
	local monthname = mw.getContentLanguage():formatDate( &amp;#039;F&amp;#039;, timev )&lt;br /&gt;
	local day = getdatepart(timev,&amp;#039;d&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	--	if P569precision and P569precision ~= &amp;#039;&amp;#039; &lt;br /&gt;
	--	then&lt;br /&gt;
	if P570precision and P570precision ~= &amp;#039;&amp;#039;&lt;br /&gt;
		then &lt;br /&gt;
			if P569precision == 11 or  P569precision == &amp;#039;11&amp;#039;&lt;br /&gt;
				then &lt;br /&gt;
					val = linkdate(&amp;#039;P569&amp;#039;,  year .. (P569addon or &amp;#039;&amp;#039;), monthname, day)&lt;br /&gt;
				elseif P569precision == 10 or  P569precision == &amp;#039;10&amp;#039;&lt;br /&gt;
					then &lt;br /&gt;
						val = linkdate(&amp;#039;P569&amp;#039;,  year .. (P569addon or &amp;#039;&amp;#039;), monthname)&lt;br /&gt;
				elseif P569precision == 9 or P569precision == &amp;#039;9&amp;#039; then &lt;br /&gt;
					val = linkdate(&amp;#039;P569&amp;#039;,  year .. (P569addon or &amp;#039;&amp;#039;))&lt;br /&gt;
				else &lt;br /&gt;
					val = ModuleTime.getdate( {time=Timev ,precision=tonumber(P569precision)} , {})&lt;br /&gt;
			end&lt;br /&gt;
	else &lt;br /&gt;
		if P569precision == 11 or  P569precision == &amp;#039;11&amp;#039; &lt;br /&gt;
			then &lt;br /&gt;
				doo = mathfulldate(year, month, day)&lt;br /&gt;
				val = linkdate(&amp;#039;P569&amp;#039;,  year .. (P569addon or &amp;#039;&amp;#039;), monthname, day) .. age(doo, &amp;#039;&amp;#039;, P569addon, &amp;quot;P569&amp;quot;)&lt;br /&gt;
			elseif P569precision == 10 or P569precision == &amp;#039;10&amp;#039; &lt;br /&gt;
				then  &lt;br /&gt;
					val =  linkdate(&amp;#039;P569&amp;#039;,  year .. (P569addon or &amp;#039;&amp;#039;), monthname)&lt;br /&gt;
					.. age(mathyears(year, tonumber(os.date(&amp;quot;%Y&amp;quot;)), month, tonumber(os.date(&amp;quot;%m&amp;quot;))), &amp;#039;&amp;#039;, P569addon, &amp;quot;P569&amp;quot;)&lt;br /&gt;
			elseif P569precision == &amp;#039;9&amp;#039; or P569precision == 9 then &lt;br /&gt;
				val =  linkdate(&amp;#039;P569&amp;#039;,  year .. (P569addon or &amp;#039;&amp;#039;)) .. age(mathyears(year, tonumber(os.date(&amp;quot;%Y&amp;quot;))), &amp;#039;t&amp;#039;, P569addon, &amp;quot;P569&amp;quot;)&lt;br /&gt;
			else &lt;br /&gt;
				val = ModuleTime.getdate( {time=Timev ,precision=tonumber(P569precision)} , {})&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return val -- .. (P569addon or &amp;#039;&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function propert(precision,timev,propertyID,entity)&lt;br /&gt;
	local P569precision = getprop(&amp;#039;P569&amp;#039;,&amp;#039;precision&amp;#039;,entity)&lt;br /&gt;
	local P569time =   getprop(&amp;#039;P569&amp;#039;,&amp;#039;q&amp;#039;,entity)&lt;br /&gt;
	--local P570precision = getprop(&amp;#039;P570&amp;#039;,c,entity)&lt;br /&gt;
	local P570precision = formatStatements( {property =&amp;#039;P570&amp;#039; ,entityId=entity , modifytime =&amp;#039;P570&amp;#039;, noref=&amp;#039;true&amp;#039; , firstvalue=&amp;#039;true&amp;#039; , novalue = &amp;#039;vv&amp;#039;,somevalue = &amp;#039;vv&amp;#039;})&lt;br /&gt;
	local P569addon = &amp;#039;&amp;#039;&lt;br /&gt;
--	if string.sub(P569time, 1, 1) == &amp;#039;-&amp;#039; then&lt;br /&gt;
--		P569time = &amp;#039;+&amp;#039; .. string.sub(P569time, 2)&lt;br /&gt;
--		P569addon =  &amp;#039; ق م&amp;#039;&lt;br /&gt;
--	end&lt;br /&gt;
	if propertyID == &amp;#039;P569&amp;#039; then&lt;br /&gt;
		val = getP569(precision, timev, entity, P570precision)&lt;br /&gt;
	elseif propertyID == &amp;#039;P570&amp;#039; then&lt;br /&gt;
		val =  getP570(precision,timev,entity,P569precision,P569time)&lt;br /&gt;
	end&lt;br /&gt;
	return val-- .. (addon or &amp;#039;&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getdate( datavalue ,datatype , options)&lt;br /&gt;
	local  propertyID = options.property&lt;br /&gt;
	local entity = mw.wikibase.getEntityObject(options.entityId)&lt;br /&gt;
&lt;br /&gt;
	if datavalue.type == &amp;#039;time&amp;#039;  &lt;br /&gt;
	then&lt;br /&gt;
		precision = tonumber(datavalue.value.precision)&lt;br /&gt;
		timev = datavalue.value.time&lt;br /&gt;
	     if precision == 9 or precision == 10 then&lt;br /&gt;
	    	timev = string.gsub(timev ,&amp;#039;-00T&amp;#039;,&amp;#039;-01T&amp;#039;)&lt;br /&gt;
    	end&lt;br /&gt;
&lt;br /&gt;
		tt = propert(precision,timev,propertyID,entity.id)&lt;br /&gt;
	return tt&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.test(frame)&lt;br /&gt;
	&lt;br /&gt;
	local propertyID = frame.args.property&lt;br /&gt;
	if propertyID and propertyID ~=&amp;#039;&amp;#039; &lt;br /&gt;
		then&lt;br /&gt;
			if propertyID == &amp;#039;P569&amp;#039; &lt;br /&gt;
				then&lt;br /&gt;
					val= getP569(frame.args.P569pre,frame.args.P569time,entity,frame.args.P570pre)&lt;br /&gt;
				elseif propertyID == &amp;#039;P570&amp;#039; &lt;br /&gt;
					then&lt;br /&gt;
						val= getP570(frame.args.P570pre,frame.args.P570time,entity,frame.args.P569pre,frame.args.P569time)&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
		return val&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>عبد العزيز</name></author>
	</entry>
</feed>