我想寫一個轉換器從毫秒到最高可能的時間值,然後達到0,x值。毫秒到達0之前的最高可能時間值,xx
讓我來舉例說明。
讓我們假設你有1500ms
這將導致1,5secs
,因爲其可能的最高數字值不導致0,x
。
所以不同的例子是
10ms = 10,0ms
100ms = 100,0ms
1000ms = 1,0sec
10000ms = 10,0sec
100000ms = 1,6min
1000000ms = 16,0min
10000000ms = 2,7hours
(該方法應該或多或少是無止境的,所以從數小時到數天,數週,數月,到幾年,到幾十年,等...)
有沒有.net的方法呢?
相當簡單 - 在某個超單元低於1之前定義最小數量ms的列表/字典,然後使用要應用適當的轉換 –
我會爲您希望支持的每個轉換(ms到sec,sec到min,min到hr,hr到days等)創建一個轉換方法,然後創建一個方法來調用轉換爲了。每次轉換後,如果新值小於1,請停止並返回以前的值。繼續前進,直到達到您想要支持的最大時間範圍,然後返回結果。 TimeSpan課程將幫助所有轉換達數年,然後您將需要進行自己的轉換。 – Marc