我在PHP上使用Datetime类。
您可以将datetimeclass更改为此类字符串。
$date->format('Y-m-d H:i:s')
// it shows 2013-08-05 10:00:00
但不知何故,Google API需要这样的格式。
2013-08-05T10:00:00
这个T意味着什么?
如何从DateTime类中整齐地创建这个样式字符串?
答案 0 :(得分:3)
时间为ISO 8601格式。 To print it out, you can use 'c'
format character:
$date->format('c')
答案 1 :(得分:1)
您可以使用上面的jh314's解决方案,它会为您提供以下格式的时间:
2013-08-08T10:18:15+05:30
但是,要将其格式化为您想要的格式,您可以使用以下内容:
$part1 = $date->format('Y-m-d'); // 2013-08-08
$part2 = $date->format('H:i:s'); // 10:19:37
$newdate = "{$part1}T{$part2}"; // 2013-08-08T10:19:37
或者更好:
$date = $date->format('Y-m-d\TH:i:s'); // 2013-08-08T10:19:37
答案 2 :(得分:0)
这是ISO 8601日期时间格式check this
$date->format('c') //Output 2004-02-12T15:19:21+00:00
答案 3 :(得分:0)
这几乎是,但不完全是ISO8601格式,所以你需要格式化输出如下: -
$date = new \DateTime();
echo $date->format('Y-m-d\TH:i:s');
\
逃脱'T'。有关格式化日期,请参阅the manual。