我正在创建一个儿童签到系统,需要计算儿童的年龄。这很容易,但我只想提取“月生日”的儿童。
所谓“月生日”,是指如果他们出生于11月23日,则12月23日将是他们1个月大的生日。1月23日将是他们2个月大的生日,以此类推...
现在我的代码告诉我他们多少个月大,但不知道是否是他们的“月生日”。
有什么办法可以让它工作吗?
所谓“月生日”,是指如果他们出生于11月23日,则12月23日将是他们1个月大的生日。1月23日将是他们2个月大的生日,以此类推...
现在我的代码告诉我他们多少个月大,但不知道是否是他们的“月生日”。
有什么办法可以让它工作吗?
SELECT PERIOD_DIFF( DATE_FORMAT('2011-11-23', '%Y%m'), DATE_FORMAT(birthday.meta_value, '%Y%m') ) AS months
FROM $db->members AS m
JOIN $db->members_meta AS birthday ON birthday.member_id = m.id AND birthday.meta_key = 'birthday' AND birthday.meta_value != ''
WHERE AND m.deleted = 0
GROUP BY m.id
我想我们需要考虑他们是否在闰年(2月29日),以及每个月的30日和31日出生。我找到了这段代码,可以用来查找他们的
(
2012 % 4 <> 0
OR (
2012 % 100 = 0
AND 2012 % 400 <> 0
)
)
AND '11-23' = '03-01' // 11-23 is the current month and day
AND DATE_FORMAT(birthday.meta_value, '%m-%d') = '02-29'