Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在关于获取系统时区的问题中,这个答案没有得到投票。
它建议使用tzset()和 的一些系统全局变量(例如daylight、timezone和tzname)time.h。
tzset()
daylight
timezone
tzname
time.h
经过一些测试,我能够在 Windows 和 Mac 上通过这种方法获得准确的结果。但我猜上面提到的答案没有被投票赞成是有原因的。这是真的?我应该更喜欢特定于操作系统的调用而不是这个 C 标准吗?
不,如果没有标准的 C 函数(并且您正在对至少一个兼容 POSIX 的系统进行编程),那么您应该使用首选 POSIX 函数而不是 OS 特定的函数。
如果您的其中一个系统不符合 POSIX,那么您应该只为该系统提供特定于操作系统的解决方案。