Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.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 ISO 8601格式转换问题_Php_Datetime_Iso8601 - Fatal编程技术网

PHP ISO 8601格式转换问题

PHP ISO 8601格式转换问题,php,datetime,iso8601,Php,Datetime,Iso8601,我想将此字符串“2016-05-30 15:35:00”转换为ISO 8601格式,格式如下: 预期结果:2016-05-30T15:35:00+05:30 我试着跟随,但在输出中它少了2个小时 $phpdate = strtotime('2016-05-30 15:35:00'); echo gmdate('Y-m-d\TH:i:s\+05:30', $phpdate); $phpdate=strottime('2016-05-30 15:35:00'); echo gmdate('Y-m-

我想将此字符串“2016-05-30 15:35:00”转换为ISO 8601格式,格式如下:

预期结果:2016-05-30T15:35:00+05:30

我试着跟随,但在输出中它少了2个小时

$phpdate = strtotime('2016-05-30 15:35:00'); echo gmdate('Y-m-d\TH:i:s\+05:30', $phpdate); $phpdate=strottime('2016-05-30 15:35:00'); echo gmdate('Y-m-d\TH:i:s\+05:30',$phpdate); 输出:2016-05-30T13:35:00+05:30


我在什么地方出错了吗?还是有更简单的转换方法?

我推荐更简单的日期处理方法

对于您的问题,可能是:

$date = new Carbon("2016-05-30 15:35:00");
echo $date->toIso8601String();
您使用的是PHP函数,它将日期转换为
UTC
格式,而您需要使用如下函数

date_default_timezone_set("Asia/Kolkata");//Set your timezone to Asia/Kolkata

$phpdate = strtotime('2016-05-30 15:35:00');

echo date('c', $phpdate);// 2016-05-30T13:35:00+05:30 if your timezone is of Asia/Kolkata

使用日期代替gmdate
gmdate
是UTC的缩写,您需要使用
date
类似于
date('Y-m-d H:i:sP',$phpdate)感谢您的快速回复:)这看起来很清楚,但它为我的时区增加了+02:00,我如何特别添加亚洲/加尔各答时区?