首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在PHP中将datetime转换为ISO 8601

如何在PHP中将datetime转换为ISO 8601
EN

Stack Overflow用户
提问于 2011-03-16 15:38:11
回答 7查看 146.9K关注 0票数 116

如何将时间从2010-12-30 23:21:46转换为ISO8601日期格式?(-_-;)

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-03-16 15:42:14

面向对象

这是推荐的方式。

代码语言:javascript
复制
$datetime = new DateTime('2010-12-30 23:21:46');

echo $datetime->format(DateTime::ATOM); // Updated ISO8601

程序化

对于旧版本的PHP,或者如果您更习惯使用过程代码。

代码语言:javascript
复制
echo date(DATE_ISO8601, strtotime('2010-12-30 23:21:46'));
票数 256
EN

Stack Overflow用户

发布于 2012-06-24 05:17:54

在PHP5之后,你可以使用这个:echo date("c"); form ISO8601格式的日期时间。

http://ideone.com/nD7piL

备注:

关于时区,这两个表达式对于基本格式:±[hh]:[mm], ±[hh][mm], or ±[hh]的时区都有效。

但请注意,+0X:00是正确的,而+0X00对于扩展使用是不正确的。所以最好使用date("c")。类似的讨论here

票数 42
EN

Stack Overflow用户

发布于 2017-04-04 02:32:15

如何将ISO 8601转换为unixtimestamp:

代码语言:javascript
复制
strtotime('2012-01-18T11:45:00+01:00');
// Output : 1326883500

如何将unixtimestamp转换为ISO 8601 (时区服务器):

代码语言:javascript
复制
date_format(date_timestamp_set(new DateTime(), 1326883500), 'c');
// Output : 2012-01-18T11:45:00+01:00

如何将unixtimestamp转换为ISO 8601 (GMT):

代码语言:javascript
复制
date_format(date_create('@'. 1326883500), 'c') . "\n";
// Output : 2012-01-18T10:45:00+00:00

如何将unixtimestamp转换为ISO 8601 (自定义时区):

代码语言:javascript
复制
date_format(date_timestamp_set(new DateTime(), 1326883500)->setTimezone(new DateTimeZone('America/New_York')), 'c');
// Output : 2012-01-18T05:45:00-05:00
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5322285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档