这与此链接类似:"Add the current time to a DateTime?"但我的情况完全不同。将当前的Date.Now添加到TimeSpan?
我想知道如何将您的时间范围(例如:上午10:00)添加到您的Date.Now(例如7/3/2013)?我试过DateTime.Now.Add(timeSpan)
但它不起作用。
有什么建议吗?
这与此链接类似:"Add the current time to a DateTime?"但我的情况完全不同。将当前的Date.Now添加到TimeSpan?
我想知道如何将您的时间范围(例如:上午10:00)添加到您的Date.Now(例如7/3/2013)?我试过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
。
DateTime是不可变的,所以你现有的变量不会改变。
var myDateTime = DateTime.Now.Add(timeSpan);
你需要看看返回的值... – leppie
它是如何工作的?上午10:00不是一个时间段,但是'DateTime.Add'需要一个时间跨度参数,所以如果你有一个它应该工作。请注意,返回一个新的DateTime,它不会修改DateTime.Now的值。 – Lee
@李:它怎么不起作用?这是因为我没有得到7/3/2013上午10点,而是7/4/2013上午4点。我不想使用字符串操作,因为这将是“愚蠢的编码”。 – Musikero31