Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP将本地时间转换为UTC日期时间_Php_Codeigniter_Datetime - Fatal编程技术网

PHP将本地时间转换为UTC日期时间

PHP将本地时间转换为UTC日期时间,php,codeigniter,datetime,Php,Codeigniter,Datetime,我想将本地时区日期时间转换为UTC时区日期时间 date_default_timezone_set('Asia/Calcutta'); $datetime = "2016-05-05 18:33:00"; echo date_default_timezone_get()."<br>"; // Asia/Calcutta date_default_timezone_set('UTC'); echo date_default_timezone_get()."<br>"; //

我想将本地时区日期时间转换为UTC时区日期时间

date_default_timezone_set('Asia/Calcutta');
$datetime = "2016-05-05 18:33:00";
echo date_default_timezone_get()."<br>"; // Asia/Calcutta
date_default_timezone_set('UTC');
echo date_default_timezone_get()."<br>"; //UTC
echo $utcDateTime = date("Y-m-d H:i:s",strtotime($datetime));

但,问题是不要将本地日期时间转换为UTC日期时间。它将输出为本地日期时间。

如果我理解得很好,它应该可以工作:

date_default_timezone_set('Asia/Calcutta');
$datetime = "2016-05-05 18:33:00";
echo date_default_timezone_get()."<br>"; // Asia/Calcutta
date_default_timezone_set('UTC');
echo date_default_timezone_get()."<br>"; //UTC
echo $utcDateTime = date("Y-m-d H:i:s",strtotime($datetime));
$date = DateTime::createFromFormat('Y-m-d H:i:s', '2016-05-05 18:33:00');
# you could to pass in timezone too
# $date = DateTime::createFromFormat('Y-m-d H:i:s', '2016-05-05 18:33:00',
#     new DateTimeZone('America/Fortaleza'));

var_dump($date->setTimezone(new DateTimeZone('UTC')));

在使用
date\u default\u timezone\u set
更改时区之前,您需要将日期传递到
strotime
。像这样:

date_default_timezone_set('Asia/Calcutta');
$datetime = "2016-05-05 18:33:00";
$asia_timestamp = strtotime($datetime);
echo date_default_timezone_get()."<br>"; // Asia/Calcutta
date_default_timezone_set('UTC');
echo date_default_timezone_get()."<br>"; //UTC
echo $utcDateTime = date("Y-m-d H:i:s", $asia_timestamp);
date\u default\u timezone\u set(“亚洲/加尔各答”);
$datetime=“2016-05-05 18:33:00”;
$asia_timestamp=strottime($datetime);
回显日期默认时区get()。“
”;//亚洲/加尔各答 日期\默认\时区\设置('UTC'); 回显日期默认时区get()//UTC echo$utcDateTime=日期(“Y-m-d H:i:s”,$asia\U时间戳);
使用:

将UNIX时间戳作为输入,并将其作为GMT返回


.

请对否决权发表评论。评论+否决权的问题已经在Meta上讨论过了。许多人只是选择用DV继续前进。许多人提供建议。许多人试图为新手开辟道路。但是检查OP的跟踪记录会导致一些人逃避他们的问题,因为他们可能不值得这样做。在将时区设置为UTC之前,将日期传递到
strotime
。专业提示:不要表现得有需要,也不要说你的需求很紧急。回答问题的人都是生活忙碌的志愿者,就像你一样。谢谢你@MacMac它工作得像charmJust想知道谁可以投反对票。我想看一下解释,谢谢。我查看了一下,发现您所做的转换在Codeigniter中有效,而在香草PHP中无效,最终您的答案无效。“希望这就是为什么有人投了反对票。”Balaji.J.B紧跟着有问题的标签,标签上清楚地写着CodeIgniter。更多的描述在我发布的链接中。然而,OP最终解决了这个问题。
local_to_gmt($time = '');

// $gmt = local_to_gmt(time());