【发布时间】:2013-09-04 06:42:51
【问题描述】:
我的服务器正在运行 PHP。我正在使用gmdate() 函数将记录从服务器插入到我的数据库中。我只是想知道时区是否通过使用gmdate() 函数来集中?
例子:
一个用户从印度创建条目并将记录插入数据库
和
第二个用户从美国/加拿大/法国创建条目并将记录插入数据库。
那个时间会和我在服务器插入记录时使用gmdate()函数一样吗?
【问题讨论】:
-
如果你做一个插入,数据库服务器看到的时间只是机器时间——它没有考虑你的用户在哪里。对于 Web 应用程序,您通常只通过一个用户访问数据库,因此数据库服务器不知道您的用户在哪里。但是,如果您希望印度用户看到基于他们自己的时区的时间戳,那么您需要允许他们在个人资料页面中设置他们的时区,并且您可以在呈现时间和日期时考虑到这一点。
-
那么机器时间是多少?
-
我所说的“机器时间”是系统时钟,考虑到它的时区(在 MySQL 或 PHP 中配置,取决于你从哪里得到它)。由于您引用了 PHP 函数,因此请确保您的 php.ini 已针对您的时区正确配置。
-
所以你想说我在插入记录时只使用 date() 函数而不是 gmtdate 函数?
-
嗯,这取决于你想做什么。假设您的服务器在印度,并且该服务器上的 PHP 时区设置正确。如果您使用
date,那么您的时间戳将是本地的,如果您使用gmdate(不是gmtdate),那么您的时间戳将是GMT。我想说,如果您的所有服务器都在印度,请使用本地服务器,如果它们在不同的地方,请使用 GMT。
标签: php time timezone gmt centralized