Php 如何将(美国/芝加哥)时间转换为印度(亚洲/加尔各答)时间

Php 如何将(美国/芝加哥)时间转换为印度(亚洲/加尔各答)时间,php,timezone,Php,Timezone,$row['created']试试这个,使用和日期格式 $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 或 您可以使用DateTime类。看看这个 这将允许您在时区之间跳转。如果您使

$row['created']
试试这个,使用和日期格式

$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


您可以使用DateTime类。看看这个


这将允许您在时区之间跳转。

如果您使用的是mysql,您也可以这样做:

SELECT CONVERT_TZ(created,'America/Chicago','Asia/Kolkata');
当您从数据库获取数据时,可以使用以下查询,而不是使用php编码:
选择field1,field2,从何处创建。不要这样做,而是通过以下方式更新查询:


选择field1、field2、CONVERT_z(已创建,'America/Chicago'、'Asia/Kolkata'),从中

尝试使用此代码以节省印度时间

<?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 ;
?>


定义“不工作”。这是一个mysql内置函数,用于转换时区:convert_TZ(dt,from_TZ,to_TZ);使用此选项,您可以按日期区域进行转换。有关更多详细信息,请尝试此链接:
http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_convert-tz
好的,谢谢……我不想改变数据库……我想改变回音时间……一些学生给出了正确答案Bartek Rudnik和aalam seeAnytime@MKB。谢谢
$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";
SELECT CONVERT_TZ(created,'America/Chicago','Asia/Kolkata');
<?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 ;
?>