PHP将本地时间转换为UTC日期时间
我想将本地时区日期时间转换为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>"; //
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());