Clone
jm-tech-power-official/jmlang.jmproj
time.jml
set @time.zone 8
func time.now
ret -$time$-
end
func time.pad s x
if $x < 10
ret $s + "0" + $x
end
ret $s + $x
end
func time.clock
set t -$time$-
set t $t + $@time.zone * 3600
set s $t % 86400
set h $s / 3600
set m $s % 3600 / 60
set sec $s % 60
call time.pad "" , $h
call time.pad $ret + ":" , $m
call time.pad $ret + ":" , $sec
ret $ret
end
func time.date
set t -$time$-
set t $t + $@time.zone * 3600
set z $t / 86400 + 719468
set era $z / 146097
set doe $z - $era * 146097
set yoe $doe - $doe / 1460 + $doe / 36524 - $doe / 146096
set yoe $yoe / 365
set y $yoe + $era * 400
set doy $doe - 365 * $yoe - $yoe / 4 + $yoe / 100
set mp 5 * $doy + 2
set mp $mp / 153
set d 153 * $mp + 2
set d $doy - $d / 5 + 1
set m $mp + 3
if $mp >= 10
set m $mp - 9
end
if $m <= 2
set y $y + 1
end
call time.pad $y + "-" , $m
call time.pad $ret + "-" , $d
ret $ret
end
func time.sleep ms
set end $ms + -$tick$-
while -$tick$- < $end
set x 0
end
end
func time.start
set @time.t0 -$tick$-
end
func time.elapsed
ret -$tick$- - $@time.t0
end