Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/thoda-dev/DualUniverse. DualUniverse scripts
Something went wrong. Try again.
3.6 kB · 99 lines
Lua
at v2.x-archive
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100--[[ Jericho's time script -- https://github.com/Jericho1060 Display IRL date and time in game https://github.com/Jericho1060/DualUniverse/edit/master/TimeScript/TimeScript.lua]]--
summer_time = false --export
function DUCurrentDateTime() local time = system.getTime() local additionnal_hour = 0 local seconds_to_2018 = 7948800 --from 01-10-2017 (arkship time) local secondsInMinute = 60 local secondsInHour = secondsInMinute * 60 local secondsInDay = secondsInHour * 24 local secondsInYear = secondsInDay * 365 local weekDaysNames = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"} local weekDaysShortNames = {"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"} local monthNames = {"January", "Febuary", "March", "April", "May", "June", "July", "August", "Septrember", "October", "Novermber", "December"} local monthShortNames = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"} if summer_time then time = time + secondsInHour end time = time - seconds_to_2018 local weekDayIndex = math.floor(time/secondsInDay)%7 if weekDayIndex == 0 then weekDayIndex = 7 end local year = 2018 local month = 1 local day = 1 local daysInFebuary = 28 while time >= secondsInYear do if (year % 4) == 0 then --leap year if time >= (secondsInYear - secondsInDay) then year = year + 1 time = time - secondsInYear - secondsInDay else local daysInFebuary = 29 break end else year = year + 1 time = time - secondsInYear end end local daysFromYearStart = math.floor(time/secondsInDay) if daysFromYearStart >= 31 then month = 2 daysFromYearStart = daysFromYearStart - 31 end if daysFromYearStart >= daysInFebuary then month = 3 daysFromYearStart = daysFromYearStart - daysInFebuary end if daysFromYearStart >= 31 then month = 4 daysFromYearStart = daysFromYearStart - 31 end if daysFromYearStart >= 30 then month = 5 daysFromYearStart = daysFromYearStart - 30 end if daysFromYearStart >= 31 then month = 6 daysFromYearStart = daysFromYearStart - 31 end if daysFromYearStart >= 30 then month = 7 daysFromYearStart = daysFromYearStart - 30 end if daysFromYearStart >= 31 then month = 8 daysFromYearStart = daysFromYearStart - 31 end if daysFromYearStart >= 31 then month = 9 daysFromYearStart = daysFromYearStart - 31 end if daysFromYearStart >= 30 then month = 10 daysFromYearStart = daysFromYearStart - 30 end if daysFromYearStart >= 31 then month = 11 daysFromYearStart = daysFromYearStart - 31 end if daysFromYearStart >= 30 then month = 12 daysFromYearStart = daysFromYearStart - 30 end day = daysFromYearStart time = time % secondsInDay local h = math.floor(time/secondsInHour)%24 local m = math.floor(time%secondsInHour/60) local s = math.floor(time%60) return year, month, day, h, m, s, weekDayIndex, weekDaysNames[weekDayIndex], weekDaysShortNames[weekDayIndex], monthNames[month], monthShortNames[month]end
--[[ local year, month, day, hour, minute, second, weekDayIndex, weekDayName, weekDayShortName, monthName, monthShortName = DUCurrentDateTime() system.print(string.format("%02d/%02d/%04d %02d:%02d:%02d",day,month,year,hour,minute,second))]]