【发布时间】:2014-10-15 12:24:58
【问题描述】:
我在理解 DateTimeOffset 时遇到了一些问题...
我正在尝试为 Quartz-Job 创建一个简单的触发器。 有一个 triggerbuilder 可以创建这样的触发器:
var triggerbuilder =
TriggerBuilder.Create()
.WithIdentity(triggerName, ConstantDefinitions.InternalDefinitions.AdhocJobGroup)
.StartAt(new DateTimeOffset(scheduledTime));
预定时间是一个日期时间。假设是new DateTime(2014, 10, 15, 14, 0, 0);
我住在位于中欧时区 (UTC+01:00) 的城市。
当我打印时
var dto = new DateTimeOffset(new DateTime(2014, 10, 15, 14, 0, 0));
Console.WriteLine(dto);
我得到以下结果:
15.10.2014 14:00:00 +02:00
+02:00 到底是什么意思?为什么是 +2:00 而不是 +01:00? 这是否意味着我的触发器将在 16:00 而不是 14:00 开始?
提前致谢
【问题讨论】:
-
你确定吗?您的
dto.OffSet财产回报是多少?也许是因为夏令时? -
注意:当 DST 处于活动状态时,您的城市不使用 CET。它使用 CEST,它是一个不同的时区偏移量并获得不同的名称。目前唯一使用 CET 的国家可能并不在欧洲。
-
您的城市使用(欧洲)夏令时,直到 10 月的最后一个星期日。因此,10 月 15 日是一年中的“夏季”部分。所以 CEST (+02:00),而不是 CET (+01:00)。
-
@hvd 是的,你指的是WAT 没有夏令时,就像在尼日利亚和许多其他国家一样?
-
@JeppeStigNielsen 我指的是阿尔及利亚和突尼斯,据称它们的时区为 CET 但不使用 DST。尼日利亚使用相同的时区偏移量,但称它不同(WAT,如你所说)。但是,实际上,我不确定我发现的是否正确。也许其中一个国家的居民或其他可靠来源可以解决这个问题。
标签: c# .net datetime quartz-scheduler quartz.net