首頁 > 後端開發 > C++ > 如何在 C# 中將日期時間四捨五入到最接近的 X 分鐘?

如何在 C# 中將日期時間四捨五入到最接近的 X 分鐘?

Susan Sarandon
發布: 2025-01-06 18:59:44
原創
743 人瀏覽過

How to Round Up a DateTime to the Nearest X Minutes in C#?

如何使用C 將DateTime 舍入到最接近的X 分鐘

將DateTime 舍入到最接近的指定分鐘數在各種情況下都很有用。這是此任務的簡單有效的解決方案:

  1. 建立RoundUp 實用函數:
public static DateTime RoundUp(DateTime dt, TimeSpan d)
{
    return new DateTime((dt.Ticks + d.Ticks - 1) / d.Ticks * d.Ticks, dt.Kind);
}
登入後複製
  1. 用法🎜>用法🎜>
用法🎜>用法🎜>

var dt1 = RoundUp(DateTime.Parse("2011-08-11 16:59"), TimeSpan.FromMinutes(15));
// dt1 == {11/08/2011 17:00:00}
登入後複製
用法🎜>用法:
  1. 四捨五入DateTime精確到15 分鐘,使用以下程式碼:
  • 理解程式碼:
  • RoundUp 函數需要表示捨入的DateTime (dt) 和TimeSpan (d)
表達式(dt.Ticks d.Ticks - 1) 計算可被 d.Ticks 整除的最接近的刻度值。

除以 d.Ticks 並乘以確保結果四捨五入直到指定的時間間隔。

新的 DateTime 是使用計算的刻度和相同的 Kind(本地/UTC)建立的作為原始日期時間。
  • 範例輸出:

輸入:2011-08-11 16:59

結果: 2011-08-1 17:00
  • 附加說明:
無論時區如何,此方法都會四捨五入到最接近的整數間隔。 要向下捨入,請將 (dt.Ticks d.Ticks - 1) 替換為(dt.Ticks 1).

以上是如何在 C# 中將日期時間四捨五入到最接近的 X 分鐘?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板