我正在获取UNIX时间戳的日期和时间。所以想把它转换为“America/Los_Angeles”时区,以dd-mm-yyyy HH:MM:SS格式显示。
如何在PHP中实现?
例如: 输入:1345014000 输出:15-08-2012 00:00:00
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
<?php
$input = '1345014000';
$oDate = new DateTime('@' . $input, new DateTimeZone('America/Los_Angeles'));
echo $oDate->format('d-m-Y H:i');
?>
要将时间戳转换为字符串,您可以使用以下函数:
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);
这段代码对我有效
DATE("Y-m-d H:i:s",$unix_timestamp);
我从数据库中获取时间戳,所以我的代码实际上是:
echo DATE("d/m/Y H:i", $row['lastlogin']);