添加日期&时间并转换为UTC

时间:2010-10-12 22:25:06

标签: c# asp.net

我有两个约会。 Date1和Date2

Date1包含“10/12/2010 12:00:00 AM”。 Date2包含“10/10/2010 03:00:00 PM”

我想从Date1中仅提取日期,并仅从Date2中提取时间并加入它们。

示例“10/12/2010 03:00:00 PM”。

有什么想法吗?

由于

3 个答案:

答案 0 :(得分:3)

DateTime date3 = date1.Date + date2.TimeOfDay;

UTC进入哪里?

答案 1 :(得分:2)

DateTime.Date会为您提供日期部分,DateTime.TimeOfDay会为您提供时间部分,所以:

DateTime date3 = date1.Date + date2.TimeOfDay;

应该做你想做的事。

答案 2 :(得分:1)

如果您要转换为UTC,则可能需要同时使用这两个日期,以便时区差异跨越另一个日期。也许你不是出于不清楚的原因,在这种情况下从下面删除相关的转换:

date1.ToUniversalTime().Date + date2.ToUniversalTime().TimeOfDay

这也假定日期都是当地时间。您可能希望添加Kind属性的检查:

(date1.Kind == DateTimeKind.Utc ? date1 : date1.ToUniversalTime()).Date + (date2.Kind == DateTimeKind.Utc ? date2 : date2.ToUniversalTime()).TimeOfDay