这类似于此链接:“将当前时间添加到 DateTime?” 但我的完全不同。
我想知道如何将您的时间跨度(例如:上午 10:00)添加到您的 Date.Now(例如 2013 年 7 月 3 日)?我试过了,DateTime.Now.Add(timeSpan)但它不起作用。
有什么建议么?
这类似于此链接:“将当前时间添加到 DateTime?” 但我的完全不同。
我想知道如何将您的时间跨度(例如:上午 10:00)添加到您的 Date.Now(例如 2013 年 7 月 3 日)?我试过了,DateTime.Now.Add(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-TimeSpan 添加到DateTime.Now:
DateTime time = DateTime.ParseExact("10:00AM", "hh:mmtt", CultureInfo.InvariantCulture);
DateTime result = DateTime.Now + time.TimeOfDay;
编辑:如果你想添加TimeSpan到午夜使用DateTime.Today而不是DateTime.Now.