我收到一個像 1.01.2022 h:00, m:00, s:00, ms: 00 這樣的日期
在一天結束時獲取日期的最佳方法是什么,例如:01.01.2022 h:23, m:59, s:59, ms: 999?
我嘗試了這兩種方式:
var endOfDay = new TimeSpan(0, 23, 59, 59, 999);
time = time.Add(endOfDay);
和
time = time.AddDays(1).AddMilliseconds(-1);
uj5u.com熱心網友回復:
這消除了所有疑慮,直至單個報價單的解析度。在下面的代碼中,假設dateAndTime
可能包含一個非零時間分量。
dateAndTime.Date.AddDays(1).AddTicks(-1);
這個
- 確保我們只使用沒有時間成分的日期作為我們的參考點/日期
- 將我們轉到下一個午夜約會
- 減去一個刻度,將我們帶回到具有全解析度時間分量的參考日期(如果你愿意,你可以做毫秒,只知道它的解析度較低)。
雖然這可行,但通常最好考慮一個完全不依賴于時間組件的替代設計(例如,使用第二天午夜的給定日期作為給定參考日期的虛擬日終) ).
uj5u.com熱心網友回復:
如果您只想列印范圍,則操作格式是基于意見的。但是,如果你想檢查某個時間是在一天之內還是之外,請按照(注意>=
和<
)
if (timeOfQuestion >= day.Date && timeOfQuestion < day.Date.AddDays(1)) {
...
}
使用像這樣的指令endOfDays = time.AddDays(1).AddMilliseconds(-1)
是危險的:請注意day.Date.AddMilliseconds(999.5)
- double
value - 應該在一天之內。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/537944.html
標籤:C#。网约会时间
上一篇:從另一種形式到達圖表
下一篇:為每個客戶定制cshtml