我的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列)处理此行为?
提前致谢!
答案 0 :(得分:2)
你的情况很不寻常。您不能使用DATE类来设置日期格式。尝试将日期视为文字字符串。
if (strstr($date_returned,'-00-00'))
{
echo str_replace('-00-00','',$date_returned).'-00-00';
}