2016-04-30 115 views
3

我使用Google Calendar API,現在我已經創建了一個名爲GEVENT類,這是結構:如何從DateTime和TimeSpan類型創建DateTime對象?

public class GEvent 
{ 
    public DateTime StartDate { get; set; } 
    public TimeSpan StartTime { get; set; } 
    public DateTime EndDate { get; set; } 
    public TimeSpan EndTime { get; set; } 
} 

其中StartDate是天當事件開始,StartTime是一天中的小時。

我填補了這一領域是這樣的:

Calendar.GEvent eventD = new Calendar.GEvent(); 

eventD.StartDate = StartDate.SelectedDate.Value; 
eventD.StartTime = TimeStart.SelectedTime.Value; 

其中StartDateDatePickerTimeStartTimePicker(自定義的控制只得到小時)。

當我爲Google Calendar API創建事件我這樣聲明:

Event myEvent = new Event 
{ 
    Start = new EventDateTime() 
    { 
      DateTime = new DateTime(eventD.StartDate, eventD.StartTime), 
      TimeZone = "Europe/Rome" 
    } 
    ... 
}; 

你怎麼能看到我不能被兩個對象的聯合創建一個DateTime對象。我怎樣才能達到這個結果?

回答

2

您可以使用DateTime.Add方法將TimeSpan添加到現有的DateTime

Event myEvent = new Event 
{ 
    Start = new EventDateTime() 
    { 
     DateTime = eventD.StartDate.Add(eventD.StartTime)), 
     TimeZone = "Europe/Rome" 
    } 
} 

或者像喬恩說,你可以添加兩個值:

... 
DateTime = eventD.StartDate + eventD.StartTime, 
... 

(這是可能的,因爲DateTime overrides the + operator它接受一個DateTime和TimeSpan值,增加了兩個,並返回。新的日期時間。)

+2

或者只使用運算符:'eventD.StartDate + eventD.StartTime'。 –

+0

@Dillinger我只複製了你的部分代碼,但你仍然需要你發佈的其他東西。我的小改動不應該導致語法錯誤。 –

+0

謝謝@Jon,沒有意識到會返回DateTime。 –