0

这就是我所做的-:

  1. 在 mysql 中生成 UNIX_TIMESTAMP 结果。1360756718几秒钟就出来了 。
  2. 因为我在 GMT +5.30,所以得到了 5 小时 30 分钟的秒数。结果是19800几秒钟
  3. 运行此函数-> date('j MYH:i:s',(1360756718+19800))。

但不幸的是,答案1 hour早于原来的时间。我的意思是准确1 hour的。结果13 Feb 2013 18:28:38应该是13 Feb 2013 17:28:38

我在哪里穿?

4

6 回答 6

3

好吧,您在 +5:30,但由于夏令时,我们仍然落后 1 小时。所以你现在只有 +4:30

于 2013-02-13T12:16:17.200 回答
1

我认为您的时区设置不正确。您需要挖掘您的 Apache/PHP/Mysql 设置以找出它的设置。

于 2013-02-13T12:14:32.113 回答
1
echo date( 'd.m.Y H:i:s', '1360756718' ); // 13.02.2013 13:58:38
echo date( 'd.m.Y H:i:s',  ( '1360756718'+19800 ) ); // 13.02.2013 19:28:38

对我来说,这是按计划完成的。你确定你是从正确的时间开始的吗?正如一些已经提到的,问题很可能在于您的时区或夏令时。

于 2013-02-13T12:16:29.327 回答
1

请先检查您当前的时区。 在这里您也可以检查所有支持的时区

于 2013-02-13T12:17:51.577 回答
0

您可以尝试添加:

ini_set('date.timezone', 'My/Timezone');

从 php 5.1 开始,也可以这样做:

date_default_timezone_set ( string $timezone_identifier )

http://www.php.net/manual/en/function.date-default-timezone-set.php

将时间设置为您自己的时区。可用于 php 的时区在这里:

http://www.php.net/manual/en/timezones.php

于 2013-02-13T12:22:02.147 回答
0

其他答案说您应该检查并更正您的时区设置。我会这样做,因为它更正确(关于夏令时等)。

如果您想使用简单的方法尝试 gmdate 功能:

string gmdate ( string $format [, int $timestamp = time() ] )

这将始终以 GMT 计算 - 您不必检查服务器设置。(但是它也会忽略夏令时。)

于 2013-02-13T12:48:45.183 回答