如何在PHP中将date时间转换为ISO 8601
如何将我的时间从2010-12-30 23:21:46
转换为ISO 8601的date格式? (-_-;)
面向对象
这是推荐的方法。
$datetime = new DateTime('2010-12-30 23:21:46'); echo $datetime->format(DateTime::ATOM); // Updated ISO8601
程序
对于较老版本的PHP,或者如果您更熟悉程序代码。
echo date(DATE_ISO8601, strtotime('2010-12-30 23:21:46'));
PHP 5之后,你可以使用这个: echo date("c");
形成ISO 8601格式的date时间。
注释注释:
关于这个 ,这两个expression式对于时区是有效的,对于基本格式: ±[hh]:[mm], ±[hh][mm], or ±[hh]
。
但请注意,+ 0X:00是正确的,+ 0X00对于扩展的使用是不正确的。 所以最好使用date("c")
。 这里有类似的讨论。
如何将ISO 8601转换为unixtimestamp:
strtotime('2012-01-18T11:45:00+01:00'); // Output : 1326883500
如何从unixtimestamp转换为ISO 8601(时区服务器):
date_format(date_timestamp_set(new DateTime(), 1326883500), 'c'); // Output : 2012-01-18T11:45:00+01:00
如何从unixtimestamp转换为ISO 8601(GMT):
date_format(date_create('@'. 1326883500), 'c') . "\n"; // Output : 2012-01-18T10:45:00+00:00
如何从unixtimestamp转换为ISO 8601(自定义时区):
date_format(date_timestamp_set(new DateTime(), 1326883500)->setTimezone(new DateTimeZone('America/New_York')), 'c'); // Output : 2012-01-18T05:45:00-05:00
如果你尝试在datetime-local中设置一个值
date(“Ymd \ TH:i”,strtotime('2010-12-30 23:21:46'));
//输出:2010-12-30T23:21