根据服务器时区动态打印时间

时间:2013-07-07 10:05:57

标签: php mysql date datetime

我读过很多关于我在这里发布的问题的帖子,但我遇到了一个奇怪的问题。

我在"Asia/Bangkok"文件中使用date.timezone指令将我的PHP服务器时区设置为php.ini(只是一个示例),该文件非常正常。

当我将时间打印为

时,服务器根据设置的时区返回正确的时间
<?php echo date("F j, Y, g:i A"); ?> 

但是当我想动态打印一系列时间时,在用户输入期间输入mysql数据库,

<?php echo date("F j, Y g:i A", strtotime($row_entries['input_time']));?>

服务器根据主机设置的时区system返回Europe/Dublin时间(仅作为示例)。

我甚至尝试打印没有strtotime功能的时间,

 <?php echo date("F j, Y g:i A",($row_entries['post_time']));?>

返回异常/无效日期。

这里出了什么问题,如何根据我在php.ini中设置的服务器时区动态打印时间?

3 个答案:

答案 0 :(得分:1)

似乎这一行

$row_entries['post_time']

使用不同的MYSQL默认时区

所以请你发布在这个列中插入数据的SQL吗?

答案 1 :(得分:0)

您的MySQL可能未配置为正确的时区。以下是配置的链接:http://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html

答案 2 :(得分:0)

  

我正在使用时间戳

1)使用int来存储用于存储日期和时间的text或datetime的数字或varchar 2)阅读此数据类型的默认行为 - 当记录中的任何其他字段更新时,将更新值。此数据类型仅用于记录目的。