首页 > 后端开发 > C++ > 如何将 DateTime 对象四舍五入到最接近的 X 分钟?

如何将 DateTime 对象四舍五入到最接近的 X 分钟?

Linda Hamilton
发布: 2025-01-06 19:35:41
原创
991 人浏览过

How Can I Round Up a DateTime Object to the Nearest X Minutes?

将时间四舍五入到最接近的 X 分钟

处理时间戳时,通常需要将时间值四舍五入到特定间隔。例如,您可能需要将时间四舍五入到最接近的 15 分钟,尤其是在使用日程安排或预约系统时。

为了满足这一需求,存在一个多功能函数,可以直接对时间进行四舍五入DateTime 对象精确到 X 分钟。

实现

以下代码片段展示了上述内容函数:

DateTime RoundUp(DateTime dt, TimeSpan d)
{
    return new DateTime((dt.Ticks + d.Ticks - 1) / d.Ticks * d.Ticks, dt.Kind);
}
登录后复制

用法

要使用此函数,只需提供您想要舍入的日期时间和舍入的时间间隔 (TimeSpan)。例如,要四舍五入到最接近的 15 分钟:

var dt1 = RoundUp(DateTime.Parse("2011-08-11 16:59"), TimeSpan.FromMinutes(15));
// dt1 == {11/08/2011 17:00:00}
登录后复制

这会将时间四舍五入到最接近的 15 分钟间隔,即上例中的 17:00。

其他示例

  • 四舍五入到最接近的 30分钟:
var dt2 = RoundUp(DateTime.Parse("2011-08-11 17:11"), TimeSpan.FromMinutes(30));
// dt2 == {11/08/2011 17:30:00}
登录后复制
  • 四舍五入到最接近的 60 分钟(1 小时):
var dt3 = RoundUp(DateTime.Parse("2011-08-11 18:05"), TimeSpan.FromMinutes(60));
// dt3 == {11/08/2011 19:00:00}
登录后复制

以上是如何将 DateTime 对象四舍五入到最接近的 X 分钟?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板