2010-12-16 6 views
1

Im in lua mit out date Unterstützung arbeiten so, was sind einige Möglichkeiten th Unix Millisekunden Zeit zu Zeit und DatumUnix Zeit Humanreadable Datum und Uhrzeit

mm/tt/hh konvertieren: mm: ss

Ich habe die Zeit und den Tag, aber Jahr und Monat sind hart

Danke.

EDIT: Alles was ich brauche ist Tag des Monats jetzt Dachte, ich die anderen Teile aus

EDIT: Der erste Teil des Codes NO Monatstag und arbeiten noch an DST


TIMEZONE=-5 
DAYLIGHTSAVING=0--NOT DONE 

while true do 
    t=tick() 
    y=math.floor(1970+ t /31556926) 
    ds=((1970+t/31556926)-y)*31556926 
    m=math.floor(ds/2629743)+1 
    d=math.floor(ds/86400)+1 
    md=0--NOT DONE 
    wd=d%7+6 
    print(md,wd) 
    h=math.floor(math.fmod(t,60*60*24)/3600) + 5 + (TIMEZONE) + (DAYLIGHTSAVING) 
    mn= math.floor(math.fmod(t,60*60*24)/60 - 60*h) 
    s= math.floor(math.fmod(math.fmod(t,60*60*24),60)) 
    print(m,d,y) 
    print(h,mn,s) 
    wait(1) 
end 
 

i machen es schöner afer i erhalten Tag des Monats und DST

+0

Es wäre schön, wenn Sie teilen würden, wie Sie die anderen Sachen gemacht haben. Könnte zukünftigen Googlern helfen! – David

+0

Dies läuft auf dem Roblox-Spiel, so gibt es keine OS.date(), weil es kein globales Betriebssystem gibt – erai

Antwort

0

Für Menschen, die sich fragen, ....

Heres, wie ich es tat:


TIMEZONE=-5 
DST=0 

dm={31,28,31,30,31,30,31,31,30,31,30,31} 

while true do 
t=tick() 
y=math.floor(1970+ t /31556926) 
ds=((1970+t/31556926)-y)*31556926 
m=math.floor(ds/2629743)+1 
d=math.floor(ds/86400)+1 
md=math.floor(((ds/2629743+1)-m)*dm[m])+1 
wd=d%7+6 
if(m11)then DST=0 else DST=1 end 
if(m==3)then if(md>=14)then DST=1 else DST=0 end end 
if(m==11)then if(md>=7)then DST=0 else DST=1 end end 
h=math.floor(math.fmod(t,60*60*24)/3600) + 5 + (TIMEZONE) + (DST) 
mn= math.floor(math.fmod(t,60*60*24)/60 - 60*(h-DST)) 
s= math.floor(math.fmod(math.fmod(t,60*60*24),60)) 
wait(1) 
end 
+0

verwenden Sie den Operator%, es ist schneller als mit math.fmod. – daurnimator

Verwandte Themen