如何在PHP中将UNIX时间戳转换为PST时间

3

我正在获取UNIX时间戳的日期和时间。所以想把它转换为“America/Los_Angeles”时区,以dd-mm-yyyy HH:MM:SS格式显示。

如何在PHP中实现?

例如: 输入:1345014000 输出:15-08-2012 00:00:00

4个回答

5
date_default_timezone_set 函数可用于设置当前时区在PHP中的应用,只需在每个文件中调用一次,从此时刻开始的所有计算都将使用该时区。它接受所有有效的时区名称,例如您提到的那一个。
另一方面,date 函数接受一个字符串来说明格式和您希望进行转换的时区。可以在以下网址找到完整的格式选项列表:http://php.net/manual/en/function.date.php 在您的情况下,使用方式如下:
date_default_timezone_set("America/Los_Angeles");
$str=date('d-m-Y H:i:s',$timestamp); //Where $timestamp is the timestamp to be converted

0
使用DateTime:
<?php
$input = '1345014000';
$oDate = new DateTime('@' . $input, new DateTimeZone('America/Los_Angeles'));

echo $oDate->format('d-m-Y H:i');
?>

如果您的默认时区设置为洛杉矶,您可以省略DateTime的第二个参数。否则,您可以使用您选择的时区,并因此为不同的时区创建多个$oDates,如果您想要这样做的话。

0

要将时间戳转换为字符串,您可以使用以下函数

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

你需要通过以下函数设置你的时区(可以在php.ini文件中的服务器级别或脚本级别上进行设置):

bool date_default_timezone_set ( string $timezone_identifier )

这将被称为以下内容:

date_default_timezone_set ("America/Los_Angeles");
$yourDateString = date("d-m-Y H:i:s", $yourTimeStamp); 

0

这段代码对我有效

DATE("Y-m-d H:i:s",$unix_timestamp);

我从数据库中获取时间戳,所以我的代码实际上是:

echo DATE("d/m/Y H:i", $row['lastlogin']);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接