【发布时间】:2017-06-01 13:14:32
【问题描述】:
我知道这个话题已经被讨论过了,但我想只为日期添加天数,而不是完整的日期时间,然后我需要用日期减去它。我到目前为止所做的是:
string endDate = DateTime.Now.AddDays(2).ToShortDateString();
现在这给了我像19-jan-17 这样的字符串,这很好,但是当我想用今天的日期减去它时,它会给出错误,因为结束日期在字符串中。我试过下面的代码:
TimeSpan diff = DateTime.Now.ToShortDateString() - endDate ;
或
TimeSpan diff = DateTime.Now.ToShortDateString() - Convert.ToDateTime(endDate)
或
TimeSpan diff = DateTime.Now.ToShortDateString() - Convert.ToString(endDate)
如果我将DateTime.Now.ToShortDateString() 更改为DateTime.Now,那么它也会包含我不想要的时间。我只想在日期中添加天数,然后用今天的日期减去它。
任何建议。请帮忙。
【问题讨论】:
-
为什么要比较日期时间和字符串?存储日期时间而不是字符串。 如果你想显示它使用
ToString或ToShortDateString,而不是之前。如果您想忽略DateTime的时间部分,请使用DateTime.Date,例如:if(DateTime.Today == otherDateTime.Date)... -
预期输出是多少?能举个例子吗?