PHP ISO 8601 格式转换问题
PHP ISO 8601 format conversion issue
我想将这个字符串 '2016-05-30 15:35:00' 转换成 ISO 8601 格式,应该如下所示:
Expected result : 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);
Output : 2016-05-30T13:35:00+05:30
我是不是哪里弄错了?还是有更简单的转换方法?
为了更简单地处理日期,我推荐 Carbon
对于您的问题,它将是:
$date = new Carbon("2016-05-30 15:35:00");
echo $date->toIso8601String();
您使用的 gmdate
function of PHP which converts date into UTC
format instead you need to use date
函数类似于
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
我想将这个字符串 '2016-05-30 15:35:00' 转换成 ISO 8601 格式,应该如下所示:
Expected result : 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);
Output : 2016-05-30T13:35:00+05:30
我是不是哪里弄错了?还是有更简单的转换方法?
为了更简单地处理日期,我推荐 Carbon
对于您的问题,它将是:
$date = new Carbon("2016-05-30 15:35:00");
echo $date->toIso8601String();
您使用的 gmdate
function of PHP which converts date into UTC
format instead you need to use date
函数类似于
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