-1

我试图让我的 PHP 文件输出一个文本/日历文件,但是

有趣的是,这两个输出都不起作用。

BEGIN:VCALENDAR VERSION:2.0 PRODID:-//aln/qc//NONSGML v1.0//EN CALSCALE:GREGORIAN BEGIN:VEVENT DTSTART;TZID="Asia/Singapore":20160817T93000 DTEND;TZID="Asia/Singapore":20160817T94500 UID: DTSTAMP:20160817T31133Z DESCRIPTION: SUMMARY:test event END:VEVENT END:VCALENDAR

BEGIN:VCALENDAR VERSION:2.0 PRODID:-//aln/qc//NONSGML v1.0//EN CALSCALE:GREGORIAN BEGIN:VEVENT DTSTART;TZID="Asia/Singapore":20160817T93000 DTEND;TZID="Asia/Singapore":20160817T94500 UID: DTSTAMP:20160817T31643Z DESCRIPTION: SUMMARY:test event END:VEVENT END:VCALENDAR

但这确实

BEGIN:VCALENDAR VERSION:2.0 PRODID:-//aln/qc//NONSGML v1.0//EN CALSCALE:GREGORIAN BEGIN:VEVENT DTSTART;TZID="Asia/Singapore":20160817T183000 DTEND;TZID="Asia/Singapore":20160817T184500 UID: DTSTAMP:20160817T31722Z DESCRIPTION: SUMMARY:test event END:VEVENT END:VCALENDAR

有人知道为什么吗?

我使用 date('Ymd\TGis', strtotime($datetime)) 来作为日期时间,导致在“T”之后省略了“0”

4

2 回答 2

0

由于OP通过将其写出来作为答案表明我的评论是正确的,因此我也会发布它。
你其他人选择谁“叫它”。

DateTime 的格式为 YYYYMMDDT HH MMSS。
这意味着它需要两位数小时而不是一小时。

于 2016-08-16T19:35:42.963 回答
-1

问题出在 20160817T93000

我使用 date('Ymd\TGis', strtotime($datetime)) 来作为日期时间,导致在“T”之后省略了“0”

正确的日期时间应该是 20160817T093000,使用 date('Ymd\THis', strtotime($datetime))

于 2016-08-16T19:29:48.997 回答