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

时间:2012-09-01 13:17:51

标签: php datetime time

我正在获得Date& UNIX时间戳中的时间。 所以想用dd-mm-yyyy HH:MM:SS格式将其转换为“America / Los_Angeles”时区。

如何在PHP中执行此操作?

e.g: 输入:1345014000 输出:15-08-2012 00:00:00

4 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:0)

要将时间戳转换为字符串,您可以使用following function

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

你需要在following function设置你的时区(在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); 

答案 2 :(得分:0)

此代码适用于我

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

我从数据库中获取了tymestamp,实际上我的代码是:

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

答案 3 :(得分:0)

使用DateTime:

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

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

如果您的默认时区设置为LA,则可以省略DateTime的第二个参数。另外,你可以使用你选择的时区,因此如果你想这样做,可以为不同的时区创建多个$ oDates