允许在PHP日期中忽略几天或几个月

时间:2011-12-19 20:58:47

标签: php mysql date

我的MySQL数据库中有日期字段,PHP表单中有三个字段(yyyy-mm-dd)。 用户可以设置完整的日期,但也可以设置“yyyy-mm”或“yyyy”日期。 在MySQL中,一切都是正确的,如果用户只设置年份,它会存储“yyyy-00-00”。因此,由于一个月内没有00天而一年中没有00个月,所以每天或每月的行为都是“空”。

但是,当我想使用date_format PHP函数向用户显示de date时,如果日期为“2012-00-00”,则显示“2011-12-30”。

我如何轻松(不在数据库中使用have_day和have_month列)处理此行为?

提前致谢!

1 个答案:

答案 0 :(得分:2)

你的情况很不寻常。您不能使用DATE类来设置日期格式。尝试将日期视为文字字符串。

if (strstr($date_returned,'-00-00'))
{
    echo  str_replace('-00-00','',$date_returned).'-00-00';
}