日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

从TimeSpan说起

發布時間:2023/12/4 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从TimeSpan说起 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

小編在編寫WPF程序時,需要做一個判斷:定時使用Modbus協議使用Quartz.net 定時任務讀取設備中的數據,同時也使用定時任務判斷是否長時間獲取不到數據的情況,如果程序中超過一分鐘沒有獲取到數據(數據沒有更新),則認為已經掉線。因此在類中使用了 DateTime類型數據記錄獲取數據的時間。

判斷是否在線使用了當前時間減去獲取數據的時間,類似于這樣:

RunningTime = DateTime.MinValue; var x = DateTime.Now - RunningTime; var y = x.Minutes>1?"連接斷開":"連接正常";

上述 x的類型為 TimeSpan。那么問題就從這里埋下了。

問題再現

出現問題的時間點:在不連接設備時,保持程序在運行狀態,整點時間時出現的時候就會出現連接正常的狀態,通過日志進行分析,發現整點時,分鐘為0,與時間最小值做完運算后得到的 x.Minutes的值就為 0,因此出現連接正常的情況。

解決方法

通過TimeSpan的文檔發現 TimeSpan中的屬性如下:

屬性解釋
Days獲取當前 TimeSpan 結構所表示的時間間隔的天數部分。
Hours獲取當前 TimeSpan 結構所表示的時間間隔的小時數部分。
Milliseconds獲取當前 TimeSpan 結構所表示的時間間隔的毫秒數部分。
Minutes獲取當前 TimeSpan 結構所表示的時間間隔的分鐘數部分。
Seconds獲取當前 TimeSpan 結構所表示的時間間隔的秒數部分。
Ticks獲取表示當前 TimeSpan 結構的值的刻度數。
TotalDays獲取以整天數和天的小數部分表示的當前 TimeSpan 結構的值。
TotalHours獲取以整小時數和小時的小數部分表示的當前 TimeSpan 結構的值。
TotalMilliseconds獲取以整毫秒數和毫秒的小數部分表示的當前 TimeSpan 結構的值。
TotalMinutes獲取以整分鐘數和分鐘的小數部分表示的當前 TimeSpan 結構的值。
TotalSeconds獲取以整秒數和秒的小數部分表示的當前 TimeSpan 結構的值。

通過 TimeSpan的屬性發現,按分鐘比較需要使用 TotalMinutes屬性才可以。

說明

在通過時間運算方法使用 TimeSpan作比較時,要特別注意。還有,有事沒事要多看相關文檔才可以。

總結

以上是生活随笔為你收集整理的从TimeSpan说起的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。