如何切片日期,我只能比较月份和日期?

问题描述:

我的日期有问题。 我有一个出生日期eg。 1993-06-01在数据库中。现在我想和现在的日期比较,我可以弹出生日短信。这与仅有的月份和日期字段进行比较如何?特别是在查询,所以我可以附上他们的名字与生日消息 使用框架Pyrocms。如何切片日期,我只能比较月份和日期?

+1

阅读:https://*.com/questions/12230738/how-to-compare-two-dates-without-years-in-php –

+0

似乎有点令人难以置信,没有人遇到过这个问题以前也许想过提供一个可能使全人类受益的解决方案? – Strawberry

对于PHP只是使用DateTime

例子:

$date1 = new DateTime('1993-06-01'); 
$date2 = new DateTime(); 
if ($date1->format('m-d') === $date2->format('m-d')) { 
    // send the birthday message 
} 

如果你想这样做在SQL然后使用MONTH()DAY()

例子:

$sql = "SELECT * FROM `table` WHERE MONTH(`date_column`) = " . $date->format('n') . " AND DAY(`date_column`) = " . $date->format('j'); 
+0

谢谢你的回答。但我想比较在哪里条件在sql –

+0

@babulshrestha我更新了我的答案。 – Neodan

如果您需要一个月比较,你必须在MySQL这样的功能:

MONTH(date) 

返回月份(以数字1 .. 12)

你也有

MONTHNAME(date) 

返回月份字符串(“月”,“月”,...)

一天你有:

DAYNAME(date) --> returns ('Sunday','Monday' ...) 
DAYOFWEEK(date) --> returns (1 = Sunday, 2 = Monday, …, 7 = Saturday) 

你可以查找所有日期时间函数在这个环节MySql dev