os.time() 是否使用了 isdst 字段?
Is the isdst field used at all by os.time()?
os.date("*t")
的输出中有一个 isdst
字段,您可以在 os.time 的输入中指定它。也许我很愚蠢,但我根本看不到它被 os.time 使用:
> print(os.time{year=2016, month=3, day=29, hour=9,min=10,sec=10,isdst=1})
1459235410
> print(os.time{year=2016, month=3, day=29, hour=9,min=10,sec=10,isdst=0})
1459235410
> print(os.time{year=2016, month=6, day=29, hour=9,min=10,sec=10,isdst=0})
1467184210
> print(os.time{year=2016, month=6, day=29, hour=9,min=10,sec=10,isdst=1})
1467184210
无论您的 isdst
规格如何,您似乎都获得了相同的大纪元时间表示。那么,忽略这个字段是否安全?
isdst
字段是布尔值,不是数字。请注意,任何不是 false
或 nil
的内容都被认为是真实的,包括 0
.
要将 isdst
设置为 false
,请尝试
print(os.time{year=2016, month=6, day=29, hour=9, min=10, sec=10, isdst=false})
isdst
字段的默认值为 nil
,因此这也适用:
print(os.time{year=2016, month=6, day=29, hour=9, min=10, sec=10})
os.date("*t")
的输出中有一个 isdst
字段,您可以在 os.time 的输入中指定它。也许我很愚蠢,但我根本看不到它被 os.time 使用:
> print(os.time{year=2016, month=3, day=29, hour=9,min=10,sec=10,isdst=1})
1459235410
> print(os.time{year=2016, month=3, day=29, hour=9,min=10,sec=10,isdst=0})
1459235410
> print(os.time{year=2016, month=6, day=29, hour=9,min=10,sec=10,isdst=0})
1467184210
> print(os.time{year=2016, month=6, day=29, hour=9,min=10,sec=10,isdst=1})
1467184210
无论您的 isdst
规格如何,您似乎都获得了相同的大纪元时间表示。那么,忽略这个字段是否安全?
isdst
字段是布尔值,不是数字。请注意,任何不是 false
或 nil
的内容都被认为是真实的,包括 0
.
要将 isdst
设置为 false
,请尝试
print(os.time{year=2016, month=6, day=29, hour=9, min=10, sec=10, isdst=false})
isdst
字段的默认值为 nil
,因此这也适用:
print(os.time{year=2016, month=6, day=29, hour=9, min=10, sec=10})