tm_isdst
mktime() 将 struct tm 描述的時間轉換成時間戳,tm_isdst 隻是傳入的時間是否是 DST(夏令時),tm_isdst 含有:
1: 是 DST
0: 不是 DST
-1: 由 mktime() 自己去判斷目前系統設定是否是 DST
注意:有些實作是判斷大于0還是小于0,沒有限定為 1 和 -1, 但在我的 Linux 系統中,限定為 1 和 -1 了。
性能
同僚測的傳入 1 和 0 的i性能對比:
1: 1w 次耗時 2s
0: 1w 次耗時 0.02s
是否相差一小時
在我的系統中測試時,2001 年以前的時間指派為 1 會比其他情況晚 1 小時,2001 及以後無論指派多少都是一樣。