UNIX_TIMESTAMP()
MySQL中的函数给出了NOW
的unix时间戳。如何在MySQL中获取当前小时的开始Unix时间戳?
但我想获得当前小时的开始unix时间戳。
有没有什么办法得到它?
假设,当前时间= 2016-03-07 13:05:23
UNIX_TIMESTAMP() -> 1457334323
我想2016-03-07 13:00:00
预期结果的Unix时间戳:1457334000
UNIX_TIMESTAMP()
MySQL中的函数给出了NOW
的unix时间戳。如何在MySQL中获取当前小时的开始Unix时间戳?
但我想获得当前小时的开始unix时间戳。
有没有什么办法得到它?
假设,当前时间= 2016-03-07 13:05:23
UNIX_TIMESTAMP() -> 1457334323
我想2016-03-07 13:00:00
预期结果的Unix时间戳:1457334000
您可以使用UNIX_TIMESTAMP()
函数完成所做的工作。
SELECT (
UNIX_TIMESTAMP(NOW()) - (MINUTE(NOW()) * 60 + SECOND(NOW()))
) AS startUnixTimestampOfCurrentHour;
说明:
假设,Now()
回报2016-03-07 13:05:23
。
现在,如果你仔细观察,那么你只需要避免minute
和second
部分。预计Minute
和Second
的值为zero
。
因此,如果您从now
中减去minute
和second
,那么您将达到当前小时的开始时间。然后在这个特定时间采取UNIX_TIMESTAMP
。
OR
SELECT (UNIX_TIMESTAMP() DIV 3600)*3600 AS startUnixTimestampOfCurrentHour;
试试这个:
select UNIX_TIMESTAMP(DATE_FORMAT(NOW(), '%Y-%m-%d %H-00-00'));
非常感谢。这是另一种方式! –
select unix_timestamp(date_format(now(), "%Y-%m-%d %H:00:00"));
非常感谢。 –
你可以使用DATE_FORMAT
删除分钟/第二部分:
SELECT UNIX_TIMESTAMP(DATE_FORMAT(NOW(), '%Y-%m-%d %H:00:00')) AS result
个
多亏了它。顺便说一句,很好的解释! –