![]() |
|
From Julian day to date - Printable Version +- LogicMachine Forum (https://forum.logicmachine.net) +-- Forum: LogicMachine eco-system (https://forum.logicmachine.net/forumdisplay.php?fid=1) +--- Forum: Scripting (https://forum.logicmachine.net/forumdisplay.php?fid=8) +--- Thread: From Julian day to date (/showthread.php?tid=4283) |
From Julian day to date - emme - 04.10.2022 Ciao to all, I've made a small script that convert back the julian day to the specific date. Using the Code: local cDate = os.date('*t') you can get the cDate.yday that represent the julian day (counting 1 from Jan 1st) Apparentely there is no backformula that giving the year and the day, returns the complete date... Well, I've made it: Code: function j2d(yd, aaaa)
local mm, dd = 1, 1
local cDate = os.date('*t')
local mdays = {31,28,31,30,31,30,31,31,30,31,30,31}
if not aaaa then aaaa = cDate.year end
if aaaa % 4 == 0 then mdays[2] = 29 end
for m = 1, 12 do
if mdays[m] > yd then
yd = yd - mdays[m]
mm = m
else
dd = yd
break
end
end
yDate = os.date('*t', os.time({year = aaaa, month = mm, day = dd}))
yString = os.date('%d/%m/%Y',os.time({year = aaaa, month = mm, day = dd}))
return yString, yDate
endthis functin can be saved into the common user function and be called by: Code: local cDate, tDate = j2d(270, 2022)this will return the string for the date and the os.date('*t') table for the selected day... hope this would help you somehow ciao M |