0

这类似于此链接:“将当前时间添加到 DateTime?” 但我的完全不同。

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

有什么建议么?

4

2 回答 2

3

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

var myDateTime = DateTime.Now.Add(timeSpan);
于 2013-07-03T10:18:17.560 回答
1

您可以使用+运算符:

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

但是,DateTime.Add也应该工作。我假设您的“TimeSpan”是一个字符串。

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

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

演示

编辑:如果你想添加TimeSpan到午夜使用DateTime.Today而不是DateTime.Now.

于 2013-07-03T10:16:37.893 回答