【问题标题】:Strftime Displaying Incorrect TimeStrftime 显示不正确的时间
【发布时间】:2013-10-07 16:57:01
【问题描述】:

我要做的是获取用户浏览我的网站的正确时间,并将当前时间增加 10 分钟。这是我的代码:

<?php
$now = time();
$closetime = $now+600;
echo strftime("%A %b %e %I:%M%p %Z",$closetime) . "\n";
?>

一切都按我的预期进行,唯一的问题是时区已关闭。我目前在东海岸,所以这里是 12:55,但上面的代码会输出:Monday Oct 7 12:05PM CDT,这比我想要的晚了 1 小时。

如何让用户正确显示它,以便无论在哪个国家或时区,它始终会显示当前时间的 10 分钟?

【问题讨论】:

  • date_default_timezone_set('UTC');
  • 你想显示在用户的时区吗? PHP 无法直接获取,您需要 Javascript 的帮助。
  • @AmalMurali 会显示在用户时区吗?
  • @Barmar 是的,这就是我正在尝试做的事情。我如何使用 javascript 来做到这一点?
  • @JoeBobby:不,您必须为此使用JavaScript(Barmar 上面所说的)。

标签: php


【解决方案1】:

使用ini_get('date.timezone') 检查您使用的时区。如果不是正确的时区,请在 php.ini 文件中搜索 date.timezone 并编辑 PHP 具有的 supported timezones 值之一。

date.timezone = "America/Los_Angeles"

如果您无权访问 php.ini 文件,您可以在应用开始时使用 date_default_timezone_set 函数覆盖该值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多