簡體   English   中英

使用NodaTime計算兩個日期之間的小時數

[英]Calculate the number of hours between two dates using NodaTime

我正在嘗試使用NodaTime來計算兩個日期之間的小時數,我得到了這個例外:

“單位包含時間單位:小時。參數名稱:單位”

此代碼可以正常工作數年,數月和數天。

public ElapsedTimeNodaTime(DateTime StartDate, DateTime EndDate)
{
   var birthday = new LocalDate(StartDate.Year, StartDate.Month, Date.Day);
   var today = new LocalDate(EndDate.Year, EndDate.Month, EndDate.Day);

    Years = Period.Between(birthday, today, PeriodUnits.Years).Years;
    Months = Period.Between(birthday, today, PeriodUnits.Months).Months;
    Days = Period.Between(birthday, today, PeriodUnits.Days).Days;
    Hours = Period.Between(birthday, today, PeriodUnits.Hours).Hours;
}

如果您剛剛獲得日期,最簡單的選擇是將天數乘以24。

或者,創建LocalDateTime值:

Hours = Period.Between(birthday.AtMidnight(), today.AtMidnight(), PeriodUnits.Hours).Hours;

或者你可以堅持使用LocalDateTime

public ElapsedTimeNodaTime(DateTime startDate, DateTime endDate)
{
   var birthday = startDate.ToLocalDateTime();
   var today = endDate.ToLocalDateTime();

    Years = Period.Between(birthday, today, PeriodUnits.Years).Years;
    Months = Period.Between(birthday, today, PeriodUnits.Months).Months;
    Days = Period.Between(birthday, today, PeriodUnits.Days).Days;
    Hours = Period.Between(birthday, today, PeriodUnits.Hours).Hours;
}

這似乎有點無意義 - 為什么多余的時間計算你有幾天的時間?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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