我想从当前日期减去1年2个月和5天,但我试图用不同的格式打印出来。而不是它的组合,它打印出2个不同的东西
select DATE_FORMAT(NOW(), '%W, %M %d, %Y, %h:%i%p'),DATE_Sub(DATE_Sub(Date_Sub(NOW(), INTERVAL 2 year), INTERVAL 2 month), Interval 5 day);
答案 0 :(得分:1)
只需使用date_sub()
即可获得正确的日期/时间:
select date_sub(date_sub(date_sub(now(), interval 1 year), interval 2 month), interval 2 day)
或
select date_sub(date_sub(now(), interval 14 month), interval 2 day)
然后使用date_format()
以您想要的任何格式获取它:
select date_format(date_sub(date_sub(now(), interval 14 month), interval 2 day), '%W, %M %d, %Y, %h:%i%p')
答案 1 :(得分:1)
在您的查询中,您打印两个字符串,第一个将date_format应用于NOW(),第二个执行计算,但不应用date_format。
也许这就是你想要的?
SELECT
DATE_FORMAT(
DATE_Sub(
DATE_Sub(
Date_Sub(
NOW(),
INTERVAL 2 year),
INTERVAL 2 month),
Interval 5 day),
'%W, %M %d, %Y, %h:%i%p'
);
输出:
Tuesday, August 21, 2012, 03:58PM