[英]Converting short? to TimeSpan
我想減去short? Days
從DateTime? InitialDate
short? Days
DateTime? InitialDate
DateTime? InitialDate
獲取DateTime FinalDate
。
我不確定,因為它們是可為空的對象,這是否會導致比較出現問題。 我試過將days
投射到TimeSpan
沒有成功。
short? Days = 7;
DateTime? InitialDate = new DateTime(2012, 10, 5);
DateTime FinalDate = InitialDate - Days ;
//FinalDate should be 5/3/2012 12:00 AM
FinalDate 應該是5/3/2012 12:00 AM.
由於您處理的兩個變量都是可為空類型,因此您必須使用它們的.Value
屬性來訪問其值。 您還可以使用.HasValue
屬性來檢查它是否具有任何值。
現在是減法部分,我不確定您在問題中提到的 TimeSpan 的作用是什么。 但是根據指定的輸出和變量的名稱,我假設它是天數。 如果我的理解是正確的,那么您可以嘗試以下代碼從InitialDate
減去Days
以獲得FinalDate
為安全起見,您可以在訪問InitialDate
之前檢查它們是否具有值。
DateTime? FinalDate = InitialDate.HasValue ? InitialDate.Value.AddDays(-(Days.HasValue? Days.Value : 0)) : null;
這個例子可以幫助你更清楚地理解事情。
您可以使用AddDays
方法從InitialDate
減去Days
值,傳入Days
的負值。 由於您沒有顯示您想要發生的事情,因此它的值要么為null
我已將FinalDate
空:
short? Days = 7;
DateTime? InitialDate = 5/10/2012 12:00 AM;
DateTime FinalDate? = null;
if(Days.HasValue && InitialDate.HasValue)
{
FinalDate = InitialDate.Value.AddDays(-Days.Value)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.