【问题标题】:Strange issue with date and time in php on linuxlinux上php中日期和时间的奇怪问题
【发布时间】:2014-08-05 16:02:03
【问题描述】:

我搜索了很多,但我找不到这个问题的答案。我已经正确设置了服务器和 php.ini 的时区。当我在服务器上使用“日期”命令时,它给了我正确的答案。但如果我使用这个 PHP 脚本:

<?php
// include 'cal_config.php';
// include 'cal_matchclass.php';

// $_mail = $_GET["mail"];

$dataTime = date("Y-m-d H:i:s");
echo $dataTime;
echo "\n".date_default_timezone_get();

?>

它显示的日期/时间是 6 小时后! 但时区是正确的(在这种情况下是欧洲/罗马)。

有人有什么建议吗?请帮忙,因为当我把所有事情都做对时,我真的不明白出了什么问题。谢谢大家。

这是 linux 上“date”命令的输出:

mar  5 ago 2014, 18.06.15, EDT

这是上面 php 脚本的输出:

2014-08-06 00:06:12
Europe/Rome

【问题讨论】:

  • 你是如何设置时区的?您是在 php.ini 中设置了date.timezone 的设置还是调用了date_default_timezone_set()
  • 我在 php.ini 中使用了 date.timezone
  • 我认为您可能将系统时间设置为不正确的时区。运行 linux 命令的输出是什么:date +%Z

标签: php linux datetime sles


【解决方案1】:

EDT = 东部夏令时间(UTC - 4 小时)

欧洲/罗马 = +2.0 小时

他们的时间总和正好给你六个小时的差异。

【讨论】:

  • 如何更改该 edt?或者有什么问题?
  • 请参阅您的 linux 发行版帮助。
  • @ElProbes akond 是正确的,更改系统时区取决于您使用的 linux 的风格,但谷歌搜索该过程应该会给您带来不错的结果。
  • 谢谢大家,但我用谷歌搜索了很多时间,我尽我所能来解决这个问题,一切似乎都是正确的,但 php 的输出仍然错误。无论如何,我会继续谷歌搜索,我希望能找到一些有用的东西。再次感谢。
猜你喜欢
  • 2012-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-08
  • 1970-01-01
  • 2014-08-20
相关资源
最近更新 更多