[英]Date subtraction in C#
我的任務是從固定日期中減去當前日期時獲得天數。
<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.Subtract 方法,這將返回一個 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
將始終在未來)將其用作被減數(即從中減去的日期),將另一個用作減數(即日期,即減去)。 那么天數也將始終為正數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.