php - 日志中时间戳的时区?

我已经为 PHP 正确设置了时区。但是 Symfony2 日志 (Monolog) 中的时间戳并没有反射(reflect)出这一点。

  • 是否硬编码为 UTC+0 或其他?
  • 这是日志的最佳实践吗?
  • 我该如何改变它?

最佳答案

至少有 2 种方法可以使 PHP 的行为就像在您选择的时区内一样。

  1. 按照此其他常见问题解答转至 change timezone for your entire account.

  2. 如果您只希望特定的 PHP 脚本(而不是 shell 或其他 cgi 脚本)使用特定的时区,请像这样在 PHP 代码中设置时区环境变量:

    回显“原始时间:”。日期("h:i:s")."\n";

    putenv("TZ=美国/东方");

    回显“新时间:”。 date("h:i:s")."\n";

如果您将行 putenv("TZ=US/Eastern"); 放在一个文件中 include() 由所有其他 PHP 脚本调用,然后所有 PHP 脚本都将使用该时区。

这里是可供选择的时区列表,除了“美国/东部”适用于您的 putenv():

http://en.wikipedia.org/wiki/Lists_of_time_zones

https://stackoverflow.com/questions/12478890/

相关文章:

javascript - path.node().getTotalLength() 挂起浏览器

css - 向剪切框添加投影

git - 编译或下载静态版本的 git

python - Arduino 和 PyBluez 之间的蓝牙通信

mysql - 我可以杀死 "repair by keycache"吗?

php - 使用 youtube api 查找观看次数最少的视频?

python - 如何通过终端获取mac os的语言

css - 溢出滚动不滚动?

html5-video - 嵌入/使用 mediaelement.js 的正确方法

google-chrome-extension - 当我们在扩展弹出窗口之外单击时自动关闭如何保持打