是否可以在 iCal.net 上使用 UTC 偏移量而不是时区名称?

Is it possible to use UTC Offset instead of timezone name on iCal.net?

我的应用程序将 UTC 偏移量存储在用户配置文件中(例如 -03:00),正如 iCal.net Wiki 中的此页面提到的,我似乎只能使用时区来分配给事件: https://github.com/rianjs/ical.net/wiki/Working-with-time-zones.

我还有其他选择吗?

ical.net 在后台使用 NodaTime 进行时区转换,这意味着您可以使用 Etc/GMT 系列时区。维基百科有 a nice list。在您的情况下,您将指定 Etc/GMT-3:

的时区
const string ianaZone = "Etc/GMT-3";
var start = DateTime.Now;
var end = start.AddHours(1);

var vEvent = new Event
{
    DtStart = new CalDateTime(start, ianaZone),
    DtEnd = new CalDateTime(end, ianaZone),
};