【问题标题】:Having some problems with parsing Cal file解析 Cal 文件时遇到一些问题
【发布时间】:2016-08-16 19:18:31
【问题描述】:

我试图让我的 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”

【问题讨论】:

  • 那你是用什么代码输出的吗?
  • 某事告诉我这与此有关:20160817T93000 日期看起来不错,但时间从 9 开始?也许它需要是 093000?

标签: php cal


【解决方案1】:

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

日期时间的格式为 YYYYMMDDTHHMMSS。
这意味着它需要两位数小时而不是一小时。

【讨论】:

    【解决方案2】:

    问题出在 20160817T93000

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

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

    【讨论】:

    • 所以在我告诉你问题是什么之后你自己回答了?哇,这是一个新的。
    猜你喜欢
    • 1970-01-01
    • 2021-10-23
    • 2019-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多