【问题标题】:How does PHP date() function work?PHP date() 函数是如何工作的?
【发布时间】:2016-07-12 15:22:42
【问题描述】:

我只是想知道 php 函数 date() 是如何工作的?比如它如何确定返回的时间和日期?

例如,如果我在页面上的 php 代码看起来像这样:

<?php    
    echo date("h:i:sa");
?>

它会简单地回显(例如)11:18:24am,但假设来自另一个国家/地区的网站访问者访问页面,返回的时间是否适合他们的时区?希望这个问题有意义,我只是问,因为在搜索 php date() 函数的工作原理时,我在 Google 上找不到任何东西。

【问题讨论】:

  • 不,会一直返回服务器的时间。
  • 因为 PHP 是服务器端的所有日期/时间都基于服务器的时区。
  • date() 不会神奇地知道任何访问者的时区,它对他们一无所知,包括他们可能在哪个国家/时区;如果您的服务器/默认时区以外的任何其他时间,您必须告诉它应该使用哪个时区

标签: php date time timezone


【解决方案1】:

日期方法记录在这里:https://secure.php.net/manual/function.date.php

由于 php 脚本在服务器端执行,它使用服务器的当前日期/时间,格式化并返回它。 - 您的网站访问者的时区没有转换。如果需要本地化时间,则需要更改timezone manually

【讨论】:

  • 感谢您的信息,回答我的问题:)
【解决方案2】:

我遇到了同样的问题,但这是我解决它的方法。在 php.ini 中,时区是静态的并根据服务器设置,但您可以使用 date_default_time_zone 函数覆盖它。例如,您可以创建一个测试访客位置的脚本,然后将参数加载到 date_default_timezone_set("continent/city");根据您的访客位置。我希望这有效

【讨论】:

    猜你喜欢
    • 2018-12-10
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-20
    • 2014-01-28
    相关资源
    最近更新 更多