【发布时间】:2010-09-15 09:33:50
【问题描述】:
我有一个应用程序写入另一个应用程序,需要提供系统的日期 + 时区。我一直在使用带有 %z 参数的 strftime 来获取时区,它在 Linux 上运行良好。然而,上周我们决定将它合并到 solaris 只是为了发现 %z 不存在。
有人建议使用%Z,它将给出时区名称,但我需要 %z,它给出具有偏移格式的时区,例如+0100 或-0300。
有人有想法吗?
【问题讨论】:
我有一个应用程序写入另一个应用程序,需要提供系统的日期 + 时区。我一直在使用带有 %z 参数的 strftime 来获取时区,它在 Linux 上运行良好。然而,上周我们决定将它合并到 solaris 只是为了发现 %z 不存在。
有人建议使用%Z,它将给出时区名称,但我需要 %z,它给出具有偏移格式的时区,例如+0100 或-0300。
有人有想法吗?
【问题讨论】:
%z 不是 POSIX。您必须通过查找 localtime 和 gmtime 之间的差异来自己计算偏移量。
对于 Perl 示例,see here。
【讨论】: