我不知道这是什么日期格式

问题描述 投票:0回答:2

我有这些我正在尝试处理的文件,它们带有微软团队的链接。邀请函的日期格式非常奇怪,我无法弄清楚。我以为是UTC,但我似乎仍然无法弄清楚。任何日历程序都可以很好地打开它,向我显示正确的日期。但我想处理文本。

这是一个例子:

BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:Microsoft Exchange Server 2010
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Central Standard Time
BEGIN:STANDARD
DTSTART:16010101T020000
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=11
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:16010101T020000
TZOFFSETFROM:-0600
TZOFFSETTO:-0500
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=2SU;BYMONTH=3
END:DAYLIGHT
END:VTIMEZONE

本次特别转换为 2021 年 10 月 27 日下午 3:00 中部夏令时间。我可以用另一种方式处理事情,但我必须在这里满足我的好奇心。我尝试查看 ICS 的 RFC,但没有看到我要找的内容。

icalendar
2个回答
1
投票

这些是时区组件的夏令时更改。 https://datatracker.ietf.org/doc/html/rfc5545#section-3.6.5

此用法中的“DTSTART”必须指定为具有本地时间值的日期。

有关本地时间值,请参阅表格#1 的 DATETIME https://datatracker.ietf.org/doc/html/rfc5545#page-33


0
投票

今天我自己思考了一会儿,直到我意识到实际上有三个“DTSTART”字段。

您会在 ics 文件的更下方找到更熟悉的日期格式。

示例:

(靠近顶部,就像你的一样)

DT开始:16010101T020000

...

DT开始:16010101T020000

...

(靠近中间)

DTSTART;TZID=中部标准时间:20240417T150000

© www.soinside.com 2019 - 2024. All rights reserved.