在 C# 中将 2 个 DateTime 变量合并为一个

本文关键字:一个 合并 变量 中将 DateTime | 更新日期: 2023-09-27 18:32:44

我有 2 个 DateTime 变量。

One is: DateTime date //this format is yyyymmdd
Second is: DateTime time // this format is hhmmtt  (hour:min:tt)

如何将这 2 个组合在一起? 生成一个日期时间变量。

在 C# 中将 2 个 DateTime 变量合并为一个

var output = new DateTime(date.Year, date.Month, date.Day,
                          time.Hour, time.Minute, time.Second);

但是,这仅适用于您列出的两个日期,其中一个是日期,一个是时间。

您应该将其中一个 DateTimes 转换为TimeSpan并将其添加到第二个DateTime 。只拿时间DateTime .您可以使用其 GetTicks 方法并将其传递给''TimeSpan构造函数。

DateTime day; //assumed set with the correct date
DateTime time; //assumed set with the relevant hour, minute, second
DateTime all = day.Date.Add(new TimeSpan(time.Hour, time.Minute, time.Second));
DateTime date = new DateTime(2012,12,04);
DateTime time = new DateTime(1,1,1,11,20,30);
DateTime combined = date.AddSeconds(TimeSpan.Parse(time.ToShortTimeString()).TotalSeconds);
Console.WriteLine(date);
Console.WriteLine(time);
Console.WriteLine(combined);
04.12.2012 00:00:00
01.01.0001 11:20:30
04.12.2012 11:20:00