2015-03-02 122 views
0

在CRM Online 2013中,我需要根据特定时区确定夏令时的开始和结束日期。除了当前用户设置的时区以外,我的代码需要显示为不同时区转换的时间。例如,如果当前用户的时区设置为EST - 东部标准时间,他们将在当地时间看到日期/时间值,但我需要在实体表单显示上有一个网络资源,该日期/时间转换为其他时间区域。我可以获得每个时区的标准偏移量,但无法找到指示夏令时开始月份/日期的任何准确数据,因此我知道何时使用该偏移量。使用OData服务端点,我查看了TimeZoneDefinition和TimeZoneRule实体,以及用户当前在UserSettings实体中的时区。我检查了这些实体的属性,但是它们对于夏令时月/日有不正确的值。例如,查看EST时区,我会看到日光月和3月2日的日期,但它应该是3月8日。如何在Dynamics CRM的时区开始和结束夏令时?

我已验证CRM本身能否按预期正常工作,在表单上设置日期/时间值标准时间到3/7的正确UTC值和从3/8开始的夏令时,但我需要从JavaScript Web资源中访问相同的信息。任何帮助深表感谢。

回答

0

我想我刚刚意识到了这个问题。我期待在夏令时开始时将这些数值定义为特定的月份和日期(如当月的某天)。我相信日间值(DaylightDay或TimeZoneDaylightDay取决于您正在查看的实体)是夏令时的标准规则定义的一部分。如果日值为2,则表示该月当天第二次出现,并且需要与DaylightDayOfWeek值一起使用。例如,如果月份是3,日期是2,星期几是0,则将在3月(3)中读作第二(2)个星期天(0)。现在我明白这一点是有道理的,这只是可以用来计算任何给定年份的DST实际开始的规则。