Jump to content

Module:DafYomi: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Ypn^2 (talk | contribs)
No edit summary
Ypn^2 (talk | contribs)
No edit summary
Line 10: Line 10:


function fromDate (dat)
function fromDate (dat)
return mas_daf.mas + " " + (mas_daf.daf + 1)
return mas_daf(dat).mas + " " + (mas_daf.daf + 1)
end
end



Revision as of 19:50, 24 November 2024

local p = {}

function p.today (frame)
	return fromDate(os.date("!*t"))
end

function p.date (frame)
	return fromDate(frame.args)
end

function fromDate (dat)
	return mas_daf(dat).mas + " " + (mas_daf.daf + 1)
end

function mas_daf (dat)
	dat.hour = 0
	dat.min = 0
	dat.sec = 0
	
	dat = os.time(dat)
	local date0 = os.time({year=2005,month=2,day=28,hour=0,min=0,sec=0})
	
	local sinceS = dat-date0 + 200
	local sinceD = math.floor(sinceS / 86400)
	local days = sinceD % 2711 + 1
	
	if (days <= 63) then return {mas='Berakhot',daf=days} end
	days = days - 63
	if (days <= 156) then return {mas='Shabbat',daf=days} end
	days = days - 156
	if (days <= 104) then return {mas='Eruvin',daf=days} end
	days = days - 104
	if (days <= 120) then return {mas='Pesachim',daf=days} end
	days = days - 120
	if (days <= 21) then return {mas='Shekalim',daf=days} end
	days = days - 21
	if (days <= 87) then return {mas='Yoma',daf=days} end
	days = days - 87
	if (days <= 55) then return {mas='Sukkah',daf=days} end
	days = days - 55
	if (days <= 39) then return {mas='Beitza',daf=days} end
	days = days - 39
	if (days <= 34) then return {mas='Rosh Hashanah',daf=days} end
	days = days - 34
	if (days <= 30) then return {mas="Ta'anit",daf=days} end
	days = days - 30
	if (days <= 31) then return {mas='Megillah',daf=days} end
	days = days - 31
	if (days <= 28) then return {mas="Mo'ed Katan",daf=days} end
	days = days - 28
	if (days <= 27) then return {mas='Chagigah',daf=days} end
	days = days - 27
	if (days <= 121) then return {mas='Yevamot',daf=days} end
	days = days - 121
	if (days <= 111) then return {mas='Ketubot',daf=days} end
	days = days - 111
	
	return sinceD
end

return p