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
规范如何,您似乎都获得了相同的Epoch时间表示。那么,忽略这个领域是否安全?
答案 0 :(得分:3)
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})