C# 中的日期减法
本文关键字:日期 | 更新日期: 2024-11-01 03:58:24
我的任务是从固定日期减去当前日期时获得天数。
<script language="C#" runat="server">
System.DateTime thisDay = DateTime.Today;
System.DateTime dateCountFrom = new DateTime(2016, 6, 1, 0, 00, 00);
</script>
所以我有 2 个约会,一切都很顺利。但是我怎样才能从另一个中减去一个呢?
(dateCountFrom-thisDay).totaldayscount;
导致错误,尝试其他方法 - 相同的结果。
我只有这样做才能成功:
<%= ((DateTime.Now-(new DateTime(2016,6,1))) *-1).TotalDays %>
但是我需要评估结果并乘以 -1。
任何想法我该怎么做?
你应该使用 DateTime.Subate 方法,这将返回一个 TimeSpan 变量,其中包含日期之间的时间差
TimeSpan diff = dateCountFrom.Subtract(DateTime.Now);
diff = TimeSpan.FromTicks(diff.Ticks * -1);
相反,如果你想让它乘以 -1,你可以做相反的总和
TimeSpan diff = DateTime.Now.Subtract(dateCountFrom);
(thisDay - dateCountFrom).TotalDays
和(dateCountFrom-thisDay).TotalDays
都是完全合法的,不会导致错误。唯一的区别是,一个结果是负面的,另一个结果是积极的。
如果您只需要两个日期之间的天数,无论哪个日期晚一点,都可以使用
int days = Math.Abs((thisDay - dateCountFrom).TotalDays)
如果您知道,其中一个日期将始终比另一个日期晚(例如dateCountFrom
将永远在未来)将其用作减号(即减去的日期),另一个用作减去的日期(即减去的日期)。然后天数也将始终为正数。