我想弄清楚如何在我的 php 网站上显示 PST 时间。 我一直在使用 NOW() 在 MySQL 数据库中输入时间戳,并像这样调用它们:
date("m/d/y g:i a", strtotime($ref['lastupdated']))
但是,服务器时间在中部,但是,由于该网站面向 PST 时区的人们。基本上它需要在 PST 中显示。有什么办法可以做到这一点 - 比如,取那个值并减去 2 之类的东西?有什么想法吗?
我也不确定我是否需要通过 PHP 路径解决这个问题,或者这个问题是否可以通过 MySQL 解决。
感谢任何想法 - 谢谢!
$query = "SELECT refid, CONCAT(fname,' ',lname) refname, email, street, city, state, zip, interestlvl, status, added, lastupdated FROM referrals WHERE affid='$affid' ORDER BY added DESC;";
$result = mysql_query($query) or die("Query Failed: ".mysql_errno()." - ".mysql_error()."<BR>\n$Query<BR>\n");
if ($result) {
while ($ref = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo '
<td bgcolor="#EFEFEF" class="list">'.
date_default_timezone_set('America/Chicago');
$date = new DateTime($ref['lastupdated']);
$date->setTimezone(new DateTimeZone('America/Los_Angeles'));
$date->format('m/d/y g:i a')
.'</td>';
}
}
最佳答案
$date = new DateTime($ref['lastupdated']);
$date->setTimezone(new DateTimeZone('America/Los_Angeles'));
echo $date->format('m/d/y g:i a');
鉴于 PST 是 America/Los Angeles。您必须确保 date.timezone
设置为 Central 的正确时区。这可以通过 php.ini
来完成或通过 date_default_timezone_set()
.
然后,代码会将传入的字符串 $ref['lastupdated']
视为默认时区 (Central),并将日期时间转换为 *America/Los_Angeles* 时区。
关于php - PHP、日期、MySQL 中的时区...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4901441/