将当前Date.Now添加到TimeSpan

本文关键字:添加 TimeSpan Now Date | 更新日期: 2023-09-27 18:20:46

这类似于这个链接:"将当前时间添加到DateTime?",但我的不同。

我想知道如何将您的时间跨度(例如:上午10:00)添加到您的日期中。现在(例如:2013年3月7日)?我试过DateTime.Now.Add(timeSpan),但它不起作用。

有什么建议吗?

将当前Date.Now添加到TimeSpan

DateTime是不可变的,因此您现有的变量不会更改。

var myDateTime = DateTime.Now.Add(timeSpan);

您可以使用+运算符:

TimeSpan ts = TimeSpan.FromHours(10);
DateTime result = DateTime.Now + ts;

然而,DateTime.Add也应该起作用。我假设您的"TimeSpan"是一个字符串。

由于时间跨度包含AM/PM指示符,您可以将其解析为DateTime,并将TimeOfDay-时间跨度添加到DateTime.Now:

DateTime time = DateTime.ParseExact("10:00AM", "hh:mmtt", CultureInfo.InvariantCulture);
DateTime result = DateTime.Now + time.TimeOfDay;

演示

编辑:如果要将TimeSpan添加到午夜,请使用DateTime.Today而不是DateTime.Now