【问题标题】:PHP ini date.timezone? Server or client location time zone?PHP ini date.timezone?服务器或客户端位置时区?
【发布时间】:2011-01-16 03:28:06
【问题描述】:

我知道这听起来可能是个愚蠢的问题,但我没有在 PHP 文档中找到他们大声并清楚地说明这一点的地方。

我有一个网络应用程序。

我的网络应用程序的用户在欧洲,但运行网络应用程序的服务器在美国

我应该如何设置date.timezone php ini指令???

我想是服务器所在的位置,所以如果它在纽约:date.timezone = "America/New_York"

但我说的对吗?

【问题讨论】:

  • 仅仅因为服务器在那里就将时区设置为纽约在我看来(有点)就像只是因为它是在那里制造的而将手表设置在上海时间。
  • @Pekka,谢谢!在阅读了您建议的最后一个之后:stackoverflow.com/questions/346770/… 我明白了一些事情。我认为 date.timezone 如果设置不正确可能会破坏应用程序或 PHP 和 MySQL 之间的东西。但我终于明白它可以设置为我想要的。所以我认为按照最后一个链接中给出的建议,我将 time.zone 设置为 GMT 0,当需要显示日期/时间时,我使用客户端脚本来转换日期/时间。

标签: datetime timezone php


【解决方案1】:

我认为最好设置服务器的本地时区或 UTC 并使用 http://pl.php.net/manual/en/function.date-default-timezone-set.php 在脚本中更改用户时区 您可以将时区设置为 Europe/sth 或使用 GeoIP 或 JavaScript 为每个客户端计算它(应该可以)

【讨论】:

    【解决方案2】:

    根据我在 SO 上阅读的内容,答案是:

    1. 设置 PHP date.timezone ini 指令 到“UTC”(即 0)
    2. 让 PHP 在页面中打印日期时间 (UTC) 作为简单的 Unix 时间戳(数字)
    3. 让 Javascript 将 UTC Unix 时间戳转换为客户端时间,只需执行以下操作:

      新日期( * 1000);

    【讨论】:

      【解决方案3】:
      猜你喜欢
      • 2018-11-04
      • 2017-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-05
      • 1970-01-01
      相关资源
      最近更新 更多