Minutes和TotalMinutes的區別


今天測試提了一個BUG,說是消息提醒的時機不對,設置的提前2小時,還沒到就提醒了。

看了下代碼

(m.ExpectReceiveTime - DateTime.Now).Minutes < (pModel.ErtDelayPrevMinutes == -999 ? 0 : pModel.ErtDelayPrevMinutes))
                          

 

執行

(m.ExpectReceiveTime - DateTime.Now).Minutes

結果是55,按道理應該是170

 

執行

(m.ExpectReceiveTime - DateTime.Now).TotalMinutes

結果是169.89568451

 

最后把代碼修改為

(Convert.ToDecimal((m.ExpectReceiveTime - DateTime.Now).TotalMinutes) < (pModel.ErtDelayPrevMinutes == -999 ? 0 : pModel.ErtDelayPrevMinutes))

BUG解決

 

總結:

1.Minutes的計算只限於分鍾部分,類型Int,(-59到59)

https://msdn.microsoft.com/zh-cn/library/vs/alm/system.timespan.minutes/css

 

2.TotalMinutes的計算是整個時間的分鍾數,類型double。

https://msdn.microsoft.com/zh-cn/library/vs/alm/system.timespan.totalminutes/css

 

補充:

Days;              //天部分 Hours; //小時部分

Milliseconds;      //毫秒部分

Minutes;           //分部分

Seconds;           //秒部分

Ticks;             //Tick 總數

TotalDays;         //總天數

TotalHours;        //總小時數

TotalMilliseconds; //總毫秒數

TotalMinutes;      //總分鍾數

TotalSeconds;      //總秒數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM