将 DateTime 舍入到最接近的半小时 [重复]

Posted

技术标签:

【中文标题】将 DateTime 舍入到最接近的半小时 [重复]【英文标题】:Rround DateTime to the closest half-hour [duplicate] 【发布时间】:2021-07-07 09:12:50 【问题描述】:

我有一个 DateTime 列,我需要使用 DateTime 列添加一个新列,并转换并舍入分钟 (YYYY-MM-DD HH:mm:00) 格式。

例子:

DateTime
2021-06-01 11:32:00.000
2021-06-01 12:55:00.000
2021-06-01 00:29:40.000

Expected Result:

DateTime-------------------------------Converted--------------
2021-06-01 11:32:00.000----------------2021-06-01 11:30:00.000
2021-06-01 12:55:00.000----------------2021-06-01 12:30:00.000
2021-06-01 01:29:40.000----------------2021-06-01 01:00:00.000

【问题讨论】:

日期没有格式,它们是二进制值。真正的问题似乎是如何四舍五入到半小时 我必须承认,问题的(原始)标题和所问的实际上似乎完全不同。 【参考方案1】:

一种方法是旧的DATEDIFFDATEADD 方法:

SELECT DATEADD(MINUTE,DATEDIFF(MINUTE,0,[DateTime])/30*30,0)

【讨论】:

以上是关于将 DateTime 舍入到最接近的半小时 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何将值向上舍入到一个数字的最接近的因子[重复]

有没有办法将时间戳向上或向下舍入到最接近的 30 分钟间隔?

如何在 PHP 中舍入到最接近的 3 倍数? [复制]

Xcode - 考虑到更改的基本 x/y 位置,舍入到最接近的 X 值

即使在 C 中使用“\n%.2f”后,也无法将浮点值舍入到最接近的第二个小数 [关闭]

将双精度舍入到最接近的非次正规表示