gpt4 book ai didi

c# - 如何从 DateTime 和 TimeSpan 类型创建 DateTime 对象?

转载 作者:行者123 更新时间:2023-11-30 16:49:17 26 4
gpt4 key购买 nike

我正在使用 Google Calendar API,现在我创建了一个名为 GEvent 的类,结构如下:

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;

其中 StartDate 是一个 DatePickerTimeStart 是一个 TimePicker(自定义控件只获取小时) .

当我为 Google Calendar API 创建事件时,我会这样声明它:

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

如您所见,我无法通过合并两个对象来创建 DateTime 对象。我怎样才能达到这个结果?

最佳答案

您可以使用 DateTime.AddTimeSpan 添加到现有 DateTime 的方法。

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

或者如 Jon 所述,您可以将两个值相加:

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

(这是可能的,因为 DateTime overrides the + operator。它接受 DateTime 和 TimeSpan 值,将两者相加,然后返回一个新的 DateTime。)

关于c# - 如何从 DateTime 和 TimeSpan 类型创建 DateTime 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36953568/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com