$DOMAIN
< - 变量获取数据库的日期/时间。
$row['created']
和时区$row['created'] have time like 2016-10-07 01:31:42 .
。
所以我想根据印度时区显示时间。我使用下面显示的代码,但无法正常工作。
(America/Chicago)
答案 0 :(得分:2)
尝试使用此代码保存为印度时间。
<?php
$date=date_create('2016-10-07 01:26:56',timezone_open("America/Chicago"));
echo date_format($date,"Y-m-d H:i:sP")."<br>";
date_timezone_set($date,timezone_open("Asia/Kolkata"));
$indiatime = date_format($date,"Y-m-d H:i:sP") . "<br>";
echo $indiatime ;
?>
答案 1 :(得分:1)
试试这个,使用timezone_open和date_format
$timestamp = "2016-10-07 01:31:42";
$date = date_create($timestamp, timezone_open('Asia/Kolkata'));
echo date_format($date, 'Y-m-d H:i:sP') . "\n"; //echo 2016-10-07 01:31:42+05:30
或
$timestamp = "2016-10-07 01:31:42";
$user_tz = 'Asia/Kolkata';
echo $timestamp. "\n"; // echo 2016-10-07 01:31:42
$schedule_date = new DateTime($timestamp, new DateTimeZone($user_tz) );
$schedule_date->setTimeZone(new DateTimeZone('UTC'));
$triggerOn = $schedule_date->format('Y-m-d H:i:s');
echo $triggerOn; // echo 2016-10-06 20:01:42
答案 2 :(得分:1)
您可以使用DateTime类。看看这个DateTime doc example。
$date = new DateTime($row['created'], new DateTimeZone('America/Chicago'));
echo $date->format('Y-m-d H:i:sP') . "\n";
$date->setTimezone(new DateTimeZone('Asia/Kolkata'));
echo $date->format('Y-m-d H:i:sP') . "\n";
这可以让你在时区之间跳转。
答案 3 :(得分:1)
如果您使用的是mysql,也可以这样做:
SELECT CONVERT_TZ(created,'America/Chicago','Asia/Kolkata');
当您从数据库中获取数据时,不是在php中编码,而是使用以下查询:select field1,field2,created from <tablename> where <yourCondition>
。而不是doinf这样更新您的查询:
select field1,field2,CONVERT_TZ(created,'America/Chicago','Asia/Kolkata') from <tablename> where <yourCondition>