問題タブ [tzdata]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 1941 年の mktime または tz データベースの予期しないリターン
1941 年 7 月 3 日 (00:00:00) と 1941 年 7 月 4 日 (00:00:00) の mktime の戻り値は予想外です。2 つの違いは 82800 秒で、1 時間 (3600) 不足しています。
C プログラム diff1941.c (以下を参照) は、次を示しています。
最初は TZ データベースの時間シフトだと思っていましたが、私の知る限り、zdump コマンドによると、1941 年にはそのようなシフトはありません。
だからこの時点で私は混乱しています。プログラムに見えないバグがある (可能性あり) か、lib C mktime 関数にバグがある (可能性は低い) か、TZ データベースに何か微妙なものがあり、それを見つけることができない (可能性がある): どうすればよいかあなたはそれを考えますか?
私は使っている:
- Ubuntu 20.04 64 ビット、
- libc 2.31-0ubuntu9、
- tzdata 2019c-3ubuntu1
- /usr/share/zoneinfo/Europe/Paris の /etc/localtime ポイント
diff1941.c: