PHP ISO 8601 格式转换问题

标签 php datetime iso8601

我想将此字符串“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

我是不是哪里搞错了?或者有更简单的转换方法吗?

最佳答案

您正在使用gmdate PHP 函数将日期转换为 UTC 格式,而不是您需要使用 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

关于PHP ISO 8601 格式转换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37521249/

相关文章:

java - 在java中将iso8601日期转换为unix时间戳

php - 在centos上从src代码编译PHP5.5失败

c# - Xamarin 'iOS Foundation NSDate to C# DateTime conversion' 反之亦然不考虑夏令时

C#。相同的代码仅适用于 1 个标签...为什么?

date - 如何在sqlite中将字符串日期转换为日期格式

sqlite - 如何将 SQLite 中的当前时间戳存储为滴答?

perl - 如何在 Perl 中将 ISO8601 时间戳转换为 unix 时间?

php - 使用不同语言的套接字对谜题进行编码

php - 如何将文件从 laravel 存储复制到项目目录之外的目录中

php - 为什么这段代码全是斜杠