Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Time 为什么字段的默认值为“0”;小时“;在操作系统时间12?_Time_Lua - Fatal编程技术网

Time 为什么字段的默认值为“0”;小时“;在操作系统时间12?

Time 为什么字段的默认值为“0”;小时“;在操作系统时间12?,time,lua,Time,Lua,os.time的表参数有三个必填字段year、month和day,可能有hour(默认值为12)、min(默认值为0)、sec(默认值为0)和isdst(默认值为nil). hour字段似乎有点奇怪,为什么它会像其他字段一样默认为12,而不是0 我还注意到,它在中有记录,但没有,但一个小测试表明,它在两个版本中都是正确的 print((os.time{year=2014, month=5, day=13}) - (os.time{year=2014, month=5, day=13, hour

os.time
的表参数有三个必填字段
year
month
day
,可能有
hour
(默认值为
12
)、
min
(默认值为
0
)、
sec
(默认值为
0
)和
isdst
(默认值为
nil
).

hour
字段似乎有点奇怪,为什么它会像其他字段一样默认为
12
,而不是
0

我还注意到,它在中有记录,但没有,但一个小测试表明,它在两个版本中都是正确的

print((os.time{year=2014, month=5, day=13}) - (os.time{year=2014, month=5, day=13, hour=0}))

输出:
43200
(12*60*60)

找到Roberto Ierusalimschy的解释来自:

这是故意的。它甚至记录在PiL(第202页,第二版)中(尽管手册中没有)。我从未意识到“日期”有不同的默认值。(中午似乎比午夜更“在”给定的日期内…)


中午是一天中的默认时间。这很奇怪吗?@EgorSkriptunoff我想作者的想法和你一样,但对我来说,更自然的默认值是一天的开始,因此
0
。一旦你可以用索引1开始数组,你就可以从12:00开始一天了。)Lua基于零FOBIA)