<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ro">
	<id>https://enciclopedia.md/index.php?action=history&amp;feed=atom&amp;title=Modul%3ABirthDateAndAge</id>
	<title>Modul:BirthDateAndAge - Revizia istoricului</title>
	<link rel="self" type="application/atom+xml" href="https://enciclopedia.md/index.php?action=history&amp;feed=atom&amp;title=Modul%3ABirthDateAndAge"/>
	<link rel="alternate" type="text/html" href="https://enciclopedia.md/index.php?title=Modul:BirthDateAndAge&amp;action=history"/>
	<updated>2026-04-21T23:17:01Z</updated>
	<subtitle>Istoricul versiunilor pentru această pagină din wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://enciclopedia.md/index.php?title=Modul:BirthDateAndAge&amp;diff=353&amp;oldid=prev</id>
		<title>Sergiu: Pagină nouă: local p = {} local getArgs = require(&#039;Modul:Arguments&#039;).getArgs local wikidata = require(&#039;Modul:Wikidata&#039;) local plural = require(&#039;Modul:Plural&#039;).get_plural local GregorianDate = require(&#039;Modul:GregorianDate&#039;)  local computeYearsPastBetween = function(inMomentDate, inReferenceDate) 	local momentDate = GregorianDate.julianToGregorian(inMomentDate) 	local referenceDate = GregorianDate.julianToGregorian(inReferenceDate) 	local yearsDiff = tonumber(momentDate.year) - tonumber(ref...</title>
		<link rel="alternate" type="text/html" href="https://enciclopedia.md/index.php?title=Modul:BirthDateAndAge&amp;diff=353&amp;oldid=prev"/>
		<updated>2024-07-14T20:29:25Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: local p = {} local getArgs = require(&amp;#039;Modul:Arguments&amp;#039;).getArgs local wikidata = require(&amp;#039;Modul:Wikidata&amp;#039;) local plural = require(&amp;#039;Modul:Plural&amp;#039;).get_plural local GregorianDate = require(&amp;#039;Modul:GregorianDate&amp;#039;)  local computeYearsPastBetween = function(inMomentDate, inReferenceDate) 	local momentDate = GregorianDate.julianToGregorian(inMomentDate) 	local referenceDate = GregorianDate.julianToGregorian(inReferenceDate) 	local yearsDiff = tonumber(momentDate.year) - tonumber(ref...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pagină nouă&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
local getArgs = require(&amp;#039;Modul:Arguments&amp;#039;).getArgs&lt;br /&gt;
local wikidata = require(&amp;#039;Modul:Wikidata&amp;#039;)&lt;br /&gt;
local plural = require(&amp;#039;Modul:Plural&amp;#039;).get_plural&lt;br /&gt;
local GregorianDate = require(&amp;#039;Modul:GregorianDate&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local computeYearsPastBetween = function(inMomentDate, inReferenceDate)&lt;br /&gt;
	local momentDate = GregorianDate.julianToGregorian(inMomentDate)&lt;br /&gt;
	local referenceDate = GregorianDate.julianToGregorian(inReferenceDate)&lt;br /&gt;
	local yearsDiff = tonumber(momentDate.year) - tonumber(referenceDate.year)&lt;br /&gt;
	if tonumber(momentDate.month) &amp;lt; tonumber(referenceDate.month) or (tonumber(momentDate.month) == tonumber(referenceDate.month) and tonumber(momentDate.day) &amp;lt; tonumber(referenceDate.day)) then&lt;br /&gt;
		yearsDiff = yearsDiff - 1&lt;br /&gt;
	end&lt;br /&gt;
	return yearsDiff&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local computeYearsPastSince = function(referenceDate) &lt;br /&gt;
	return computeYearsPastBetween(os.date(&amp;quot;*t&amp;quot;), referenceDate)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p._getBdaByWikidata = function(args) &lt;br /&gt;
	local link = false&lt;br /&gt;
	if args[&amp;#039;link&amp;#039;] and mw.text.trim(args[&amp;#039;link&amp;#039;]) ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		link = true&lt;br /&gt;
	end&lt;br /&gt;
	local birthDates = wikidata.findDateValues(&amp;#039;P569&amp;#039;, nil)&lt;br /&gt;
	local deathDates = wikidata.findDateValues(&amp;#039;P570&amp;#039;, nil)&lt;br /&gt;
	if birthDates and birthDates[1] and birthDates[1].claim and birthDates[1].claim.type == &amp;#039;statement&amp;#039; and birthDates[1].claim.mainsnak.snaktype == &amp;#039;value&amp;#039; then&lt;br /&gt;
		local out = GregorianDate.displayDualDateIfInInterval(birthDates[1], link)&lt;br /&gt;
		if not deathDates or not deathDates[1] or (deathDates[1].claim and deathDates[1].claim.mainsnak.snaktype == &amp;#039;novalue&amp;#039;) then&lt;br /&gt;
			age = computeYearsPastSince(birthDates[1])&lt;br /&gt;
			if age &amp;lt; 120 and birthDates[1].precision &amp;gt; 7 then&lt;br /&gt;
				out = out .. &amp;#039; (&amp;#039; .. plural{args={age, &amp;#039;an&amp;#039;, &amp;#039;ani&amp;#039;, &amp;#039;de ani&amp;#039;}} .. &amp;#039;)&amp;#039;&lt;br /&gt;
			else&lt;br /&gt;
				out = out .. &amp;#039;[[Categorie:Decese cu dată necunoscută]]&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if birthDates[1].claim then&lt;br /&gt;
			out = out .. wikidata.outputReferences(birthDates[1].claim)&lt;br /&gt;
		end&lt;br /&gt;
		return out&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.getBdaByWikidata = function(frame) &lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	return p._getBdaByWikidata(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.getBda = function(frame) &lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	local link = false&lt;br /&gt;
	if args[&amp;#039;link&amp;#039;] and mw.text.trim(args[&amp;#039;link&amp;#039;]) ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		link = true&lt;br /&gt;
	end&lt;br /&gt;
	local d = {}&lt;br /&gt;
	if args[1] then&lt;br /&gt;
		d.year = tonumber(args[1])&lt;br /&gt;
		d.month = tonumber(args[2] or &amp;#039;1&amp;#039;)&lt;br /&gt;
		d.day = tonumber(args[3] or &amp;#039;1&amp;#039;)&lt;br /&gt;
		d.precision = 9&lt;br /&gt;
		d.calendar = mw.ustring.lower(args[&amp;#039;calendar_birth&amp;#039;] or args[&amp;#039;calendar&amp;#039;] or &amp;#039;gregorian&amp;#039;)&lt;br /&gt;
		if args[2] then d.precision = 10 end&lt;br /&gt;
		if args[3] then d.precision = 11 end&lt;br /&gt;
		out = GregorianDate.displayDualDateIfInInterval(d, link)&lt;br /&gt;
		if d.precision &amp;gt; 7 then&lt;br /&gt;
			out = out .. &amp;#039; (&amp;#039; .. plural{args={computeYearsPastSince(d), &amp;#039;an&amp;#039;, &amp;#039;ani&amp;#039;, &amp;#039;de ani&amp;#039;}} .. &amp;#039;)&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		return  out&lt;br /&gt;
	else&lt;br /&gt;
		return p.getBdaByWikidata(frame)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p._getDdaByWikidata = function(args) &lt;br /&gt;
	local birthDates = wikidata.findDateValues(&amp;#039;P569&amp;#039;, nil)&lt;br /&gt;
	local deathDates = wikidata.findDateValues(&amp;#039;P570&amp;#039;, nil)&lt;br /&gt;
	local link = false&lt;br /&gt;
	if args[&amp;#039;link&amp;#039;] and mw.text.trim(args[&amp;#039;link&amp;#039;]) ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		link = true&lt;br /&gt;
	end&lt;br /&gt;
	if deathDates and deathDates[1] and (not deathDates[1].claim or deathDates[1].claim.mainsnak.snaktype == &amp;#039;value&amp;#039;) then&lt;br /&gt;
		local out = &amp;#039;&amp;#039;&lt;br /&gt;
		out = out .. GregorianDate.displayDualDateIfInInterval(deathDates[1], link)&lt;br /&gt;
		if birthDates and birthDates[1] and (not birthDates[1].claim or birthDates[1].claim.mainsnak.snaktype == &amp;#039;value&amp;#039;) then&lt;br /&gt;
			if deathDates[1].precision &amp;gt; 7 and birthDates[1].precision &amp;gt; 7 then&lt;br /&gt;
				out = out .. &amp;#039; (&amp;#039; .. plural{args={computeYearsPastBetween(deathDates[1], birthDates[1]), &amp;#039;an&amp;#039;, &amp;#039;ani&amp;#039;, &amp;#039;de ani&amp;#039;}} .. &amp;#039;)&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if deathDates[1].claim then&lt;br /&gt;
			out = out .. wikidata.outputReferences(deathDates[1].claim)&lt;br /&gt;
		end&lt;br /&gt;
		return out&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.getDdaByWikidata = function(frame) &lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	return p._getDdaByWikidata(args)&lt;br /&gt;
end&lt;br /&gt;
p.getDda = function(frame)&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	local link = false&lt;br /&gt;
	if args[&amp;#039;link&amp;#039;] and mw.text.trim(args[&amp;#039;link&amp;#039;]) ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		link = true&lt;br /&gt;
	end&lt;br /&gt;
	if args[1] then&lt;br /&gt;
		local d = {}&lt;br /&gt;
		d.year = tonumber(args[1])&lt;br /&gt;
		d.month = tonumber(args[2] or &amp;#039;1&amp;#039;)&lt;br /&gt;
		d.day = tonumber(args[3] or &amp;#039;1&amp;#039;)&lt;br /&gt;
		d.precision = 9&lt;br /&gt;
		d.calendar = mw.ustring.lower(args[&amp;#039;calendar_death&amp;#039;] or &amp;#039;gregorian&amp;#039;)&lt;br /&gt;
		if args[2] then d.precision = 10 end&lt;br /&gt;
		if args[3] then d.precision = 11 end&lt;br /&gt;
		local b = {}&lt;br /&gt;
		b.year = tonumber(args[4])&lt;br /&gt;
		b.month = tonumber(args[5] or &amp;#039;1&amp;#039;)&lt;br /&gt;
		b.day = tonumber(args[6] or &amp;#039;1&amp;#039;)&lt;br /&gt;
		b.precision = 9&lt;br /&gt;
		b.calendar = mw.ustring.lower(args[&amp;#039;calendar_birth&amp;#039;] or &amp;#039;gregorian&amp;#039;)&lt;br /&gt;
		if args[5] then b.precision = 10 end&lt;br /&gt;
		if args[6] then b.precision = 11 end&lt;br /&gt;
		return GregorianDate.displayDualDateIfInInterval(d, link) .. &amp;#039; (&amp;#039; ..  plural{args={computeYearsPastBetween(d, b), &amp;#039;an&amp;#039;, &amp;#039;ani&amp;#039;, &amp;#039;de ani&amp;#039;}} .. &amp;#039;)&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		return p.getDdaByWikidata(frame)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Sergiu</name></author>
	</entry>
</feed>