首页 > 技术文章 > mysql取以当前时间为中心的任意时间段的时间戳

skyWings 原文

例如:取当前时间后一年的时间戳

SELECT UNIX_TIMESTAMP(date_sub(curdate(),interval -1 YEAR))

SELECT UNIX_TIMESTAMP(date_sub(curdate(),interval -12 MONTH))

SELECT UNIX_TIMESTAMP(date_sub(curdate(),interval -365 DAY))

去当前时间前一年的时间戳

SELECT UNIX_TIMESTAMP(date_sub(curdate(),interval 1 YEAR))

SELECT UNIX_TIMESTAMP(date_sub(curdate(),interval 12 MONTH))

SELECT UNIX_TIMESTAMP(date_sub(curdate(),interval 365 DAY))

时间戳转日期

SELECT FROM_UNIXTIME(1509638400, '%Y-%m-%d %H:%i:%S')

日期格式

 date_sub()函数的例子:

今天是2013年5月20日。

date_sub('2012-05-25',interval 1 day) 表示 2012-05-24
date_sub('2012-05-25',interval 0 day) 表示 2012-05-25
date_sub('2012-05-25',interval -1 day) 表示 2012-05-26
date_sub('2012-05-31',interval -1 day) 表示 2012-06-01
date_sub(curdate(),interval 1 day) 表示 2013-05-19
date_sub(curdate(),interval -1 day) 表示 2013-05-21
date_sub(curdate(),interval 1 month) 表示 2013-04-20
date_sub(curdate(),interval -1 month) 表示 2013-06-20
date_sub(curdate(),interval 1 year) 表示 2012-05-20
date_sub(curdate(),interval -1 year) 表示 2014-05-20

推荐阅读