問題タブ [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.

0 投票する
1 に答える
70 参照

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: