Ektron日历中的事件发生时间

时间:2013-10-24 05:26:17

标签: ektron

我创建了一个全天选择的日历活动(2013年10月24日)。然后我试着拉e.EventStart和e.EventEnd。我的预期结果是EventStart = 10/24/2013 12.00.00 am和

EventEnd = 10/25/2013 12.00.00 am。但是得到的是EventStart = 10/24/2013 12.00.00 am和EventEnd = 10/24/2013 12.00.00 am。

当我尝试使用e.EventStartUtc和e.EventEndUtc时,同样正常。但我不想要utc格式,因为我试图为用户提供ektron时间。

1 个答案:

答案 0 :(得分:4)

如果您使用Framework API,WebEventData类会有一个名为IsAllDay的属性。您可以使用它来触发显示更改。例如,如果是全日活动并且只显示日期,您可能根本不想显示开始/结束时间。

如果您确实需要为全天活动设置特定的开始/结束时间,则可以使用扩展方法轻松扩展Ektron WebEventData对象。

public static class WebEventExtensions
{
    public static DateTime GetDisplayStartDate(this WebEventData webEvent)
    {
        if (!webEvent.IsAllDay)
            return webEvent.EventStart;

        return new DateTime(webEvent.EventStart.Year, webEvent.EventStart.Month, webEvent.EventStart.Day);
    }

    public static DateTime GetDisplayEndDate(this WebEventData webEvent)
    {
        if (!webEvent.IsAllDay)
            return webEvent.EventEnd;

        return new DateTime(webEvent.EventEnd.Year, webEvent.EventEnd.Month, webEvent.EventEnd.Day, 23, 59, 59);
    }
}

然后这些方法将出现在对象上。

var eventManager = new WebEventManager();
WebEventData webEvent = eventManager.GetItem(730);
if (webEvent.IsAllDay)
{
    // do all-day stuff...
}

var start = webEvent.GetDisplayStartDate();
var end = webEvent.GetDisplayEndDate();