这与此链接类似:"Add the current time to a DateTime?"但我的情况完全不同。
我想知道如何将您的时间跨度(例如:上午10:00)添加到您的Date.Now(例如2013年7月3日)?我已经尝试了DateTime.Now.Add(timeSpan)
,但它不起作用。
有什么建议吗?
答案 0 :(得分:3)
DateTime是不可变的,因此您的现有变量不会更改。
var myDateTime = DateTime.Now.Add(timeSpan);
答案 1 :(得分: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
。