Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- months = {}
- months[1] = 31
- months[2] = months[1] + 28
- months[3] = months[2] + 31
- months[4] = months[3] + 30
- months[5] = months[4] + 31
- months[6] = months[5] + 30
- months[7] = months[6] + 31
- months[8] = months[7] + 31
- months[9] = months[8] + 30
- months[10] = months[9] + 31
- months[11] = months[10] + 30
- months[12] = months[11] + 31
- lMonths = {}
- lMonths[1] = 31
- lMonths[2] = months[1] + 29
- lMonths[3] = months[2] + 31
- lMonths[4] = months[3] + 30
- lMonths[5] = months[4] + 31
- lMonths[6] = months[5] + 30
- lMonths[7] = months[6] + 31
- lMonths[8] = months[7] + 31
- lMonths[9] = months[8] + 30
- lMonths[10] = months[9] + 31
- lMonths[11] = months[10] + 30
- lMonths[12] = months[11] + 31
- --if year % 4 == 0 and ( year % 100 ~= 0 or year % 400 == 0 ) then leap year? end
- --math.floor(year / 4) - math.floor(year / 100) + math.floor(year / 400)
- function genDate(rday)
- local baseYear = math.ceil(rday / 365)
- calcYear = baseYear -1
- calcDay = rday
- change = 1
- toAdd = 0
- while change > 0 do
- numLeaps = math.floor(calcYear / 4) - math.floor(calcYear / 100) + math.floor(calcYear / 400)
- calcDay = calcDay + numLeaps
- calcYear = math.floor(numLeaps / 365)
- change = numLeaps
- toAdd = toAdd + change
- --Seriously hoping this works
- end
- --rday = rday + toAdd
- --This code works so I'm not changing it ;p
- local year = math.ceil(rday / 365)
- local doy = rday % 365
- if doy == 0 then
- doy = 365
- end
- uMonths = {}
- if year % 4 == 0 and ( year % 100 ~= 0 or year % 400 == 0 ) then
- uMonths = lMonths
- else
- uMonths = months
- end
- for i = 1, 12 do
- if doy <= uMonths[i] then
- month = i
- break
- end
- end
- if month > 2 then
- if year % 4 == 0 and ( year % 100 ~= 0 or year % 400 == 0 ) then
- rday = rday + 0
- end
- end
- if month > 1 then
- day = doy - uMonths[month-1]
- else
- day = doy
- end
- local year = math.ceil(rday / 365)
- local doy = rday % 365
- if doy == 0 then
- doy = 365
- end
- uMonths = {}
- if year % 4 == 0 then
- if year % 100 == 0 then
- if year % 400 == 0 then
- uMonths = lMonths
- else
- uMonths = months
- end
- else
- uMonths = lMonths
- end
- else
- uMonths = months
- end
- for i = 1, 12 do
- if doy <= uMonths[i] then
- month = i
- break
- end
- end
- if month > 1 then
- day = doy - uMonths[month-1]
- else
- day = doy
- end
- return day, month, year
- --Maybe this will work
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement