c - C 中的 Solaris 时区(在 strftime 上缺少 %z)

标签 c solaris strftime

我有一个写入另一个应用程序的应用程序,需要提供系统的日期和时区。我一直在使用带有 %z 参数的 strftime 来获取时区,它在 Linux 上运行良好。然而,上周我们决定将它合并到 solaris 只是为了发现 %z 不存在。

有人建议使用 %Z,它会给出时区名称,但我需要 %z,它给出时区的偏移量格式,如 +0100-0300

有人有想法吗?

最佳答案

%z 不是 POSIX。您必须通过查找本地时间和 gmtime 之间的差异来自行计算偏移量。

以 Perl 为例,see here .

关于c - C 中的 Solaris 时区(在 strftime 上缺少 %z),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/172318/

相关文章:

c - 由于在 for 循环内使用了 toupper 的条件而给出非大写输入时出现段错误 [C]

c - 我不小心换了一个shell命令。有什么办法可以恢复我的源代码吗?

c++ - 定义中的const值参数而不是声明中的const值参数真的是C++吗?

java - 打开的文件句柄太多

Python:strftime() UTC 偏移量在 Windows 中未按预期工作

python - ValueError 解析时间字符串

c - 结构末尾未命名位域的用途是什么

git - 生成文件错误 : Unexpected end of line seen

c++ - std::strftime 在 windows 中使用 gmtime 将时区 UTC 显示为 UTC+1

c - C 中的宏指令——我的代码示例不起作用