strftime 返回错误时区的时间

strftime 返回错误时区的时间

我试图让“dts”在 vim(Windows 7 下的 cygwin)中回显当前本地时间,但输出的是 GMT+1 而不是本地时间(GMT-7)。我的缩写在其他机器上运行良好,但在这台机器上却无法运行。

缩写为:

dts <expr> strftime("%m.%d.%Y %H:%M:%S")
Result: 3/27/2012 9:53:03 PM

在 cygwin 命令行中,TZ 设置为 America/Los_Angeles,命令date输出正确的时间。只有当我尝试在 gvim 下使用 strftime() 时,时间戳才错误。我尝试添加 %z 来查看 GMT 偏移,但结果更加令人困惑:

:iab qwe strftime("%c (%z)")
Result: 3/27/2012 9:53:03 PM (ric)

我一直不明白“ric”是什么意思。

答案1

我也在 gvim 7.3.46 和 cygwin 1.7.13 中看到过这种情况。

我注意到 gvim 7.3.46 和 cygwin 1.7.9 没有遇到这个问题。

我还注意到,每种情况下的输出date都不同:

 (cygwin 1.7.9) Sun Apr 29 23:25:04 EDT 2012
 (cygwin 1.7.13) Sun, Apr 29, 2012 11:25:09 PM

我想知道添加和这个tzset1.7.10关系。

相关内容