我的任务是从固定日期减去当前日期时获取天数。
<script language="C#" runat="server">
System.DateTime thisDay = DateTime.Today;
System.DateTime dateCountFrom = new DateTime(2016, 6, 1, 0, 00, 00);
</script>
所以我有两个约会,一切都很完美。但是我如何从另一个中减去一个呢?
(dateCountFrom-thisDay).totaldayscount;
导致错误,尝试其他方式 - 相同的结果。
我只是通过这样做成功了:
<%= ((DateTime.Now-(new DateTime(2016,6,1))) *-1).TotalDays %>
但我需要评估结果并乘以-1。
我有什么想法可以做到这一点吗?
答案 0 :(得分:0)
您应该使用DateTime.Subtract方法,这将返回包含日期之间时间差异的TimeSpan变量
TimeSpan diff = dateCountFrom.Subtract(DateTime.Now);
diff = TimeSpan.FromTicks(diff.Ticks * -1);
而不是这个,如果你想要它乘以-1,你可以做相反的和
TimeSpan diff = DateTime.Now.Subtract(dateCountFrom);
答案 1 :(得分:0)
(thisDay - dateCountFrom).TotalDays
和(dateCountFrom-thisDay).TotalDays
都是完全合法的,不会导致错误。唯一的区别是一个结果是负面而另一个结果是正面的。
如果您只需要两个日期之间的天数,无论以后是哪一天,都可以使用
int days = Math.Abs((thisDay - dateCountFrom).TotalDays)
如果您知道,其中一个日期将始终晚于另一个日期(例如dateCountFrom
将来将永远)将此作为minuend(即日期,从中减去)和另一个作为减数(即减去的日期)。那么天数也总是正数。