簡體   English   中英

C#中的日期減法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM