C语言下Linux下的DST恢复

Cas*_*asi 5 c linux datetime dst

我有来自德国柏林的日期/时间信息.例如:2011-05-16 12:24:23,2011-01-21 17:00:31

不幸的是,这些时间没有夏令时信息.我知道第一次约会是CEST,第二次是CET.

我可以写一下检查日期/时间是否为夏令时.

夏季开始于3月2日上午2点的最后一个周日,并在10月3日的最后一个星期日结束.

自我开发这样的检查似乎容易出错.是否有一些东西可以在Linux下用于C?

谢谢您的帮助.

Fré*_*idi 1

您可以将%Zformat 参数传递给date命令以从日期获取时区,然后根据时区名称确定 DST 是否有效:

$ date -d '2011-05-16' '+%Z'
CEST

$ date -d '2011-01-21' '+%Z'
CET
Run Code Online (Sandbox Code Playgroud)