【问题标题】:From where date() is returned从哪里返回 date()
【发布时间】:2015-07-25 09:03:49
【问题描述】:

这个问题的评价似乎很低,但我没有得到答案,所以我问。 在php中,有一个函数date()。但是当我尝试获取date()时,它是从我的服务器还是客户端返回的?

编辑:当我问这个问题时,我很愚蠢。我有 apache 在我自己的 PC 上运行。所以服务器和客户端日期都是一样的。

【问题讨论】:

    标签: php date datetime


    【解决方案1】:

    应该是服务器端,因为你知道 php 运行服务器端!

    【讨论】:

    • 还是不行?我有一段代码根据日期在数据库中插入数据。但是今天我看到它无法获取今天的数据。
    • 然后@AdityaGiri 发生了其他事情 - date() 将 unix 时间戳格式化为可显示的日期;如果你不给它一个unix时间戳参数,那么它默认从执行代码的服务器获取当前的unix时间戳......它不会触及数据库,所以如果你得到一个不同的值在数据库中,你必须有一些其他的代码
    【解决方案2】:

    PHP 的date() 返回服务器日期,因为网络浏览器不发送任何可以确定用户本地时间的数据。

    如果您想获取用户的当地时间,您有两种方法:

    • 使用 JavaScript 并使用 POST/AJAX/Whatever 将输出发送到服务器。
    • 不太准确 - IP 地址。您可以获取用户的 ISP 位置和时区。但有时 IP 地址会返回完全不同的位置。

    无论如何,在我看来,不同时区存储日期的最佳解决方案是同时存储用户定义的时区(例如,用户注册时或在 UCP 中),并将日期直接存储在伦敦 (UTC) 时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-08
      • 2016-10-30
      • 2014-03-14
      • 2012-07-16
      • 2016-02-28
      相关资源
      最近更新 更多