Jad*_*ias 2 c# mysql math datetime rounding
我想以5分钟的分辨率将DateTime离散化.我在C#中做过,但是如何将以下代码转换为MySQL?
DateTime Floor(DateTime dateTime, TimeSpan resolution)
{
return new DateTime
(
timeSpan.Ticks *
(long) Math.Floor
(
((double)dateTime.Ticks) /
((double)resolution.Ticks)
)
);
}
Run Code Online (Sandbox Code Playgroud)
使用datetime数据类型时,这有点令人讨厌; 存储函数的一个很好的候选者.
DATE_SUB(DATE_SUB(time, INTERVAL MOD(MINUTE(time),5) MINUTE ),
INTERVAL SECOND(time) SECOND)
Run Code Online (Sandbox Code Playgroud)
使用UNIXTIME时间戳时更容易,但这仅限于1970 - 2038年的日期范围.
FROM_UNIXTIME(UNIX_TIMESTAMP(time) - MOD(UNIX_TIMESTAMP(time),300))
Run Code Online (Sandbox Code Playgroud)
祝好运.