奇怪的日期问题

时间:2011-10-25 16:47:52

标签: php mysql

我有一个表单,用户可以输入生日。如果输入1970年之前的日期,例如1964年,它被保存在2064年的数据库中。任何人都可以了解正在发生的事情吗?谢谢。我使用以下函数格式化MySQL的日期:

function formatdate( $s ) {
    $date = date_create($s);
    return date_format($date, 'y-m-d');
}

2 个答案:

答案 0 :(得分:1)

MySQL假设年龄小于70岁(未给出4位数年份)是在21世纪,而不是20世纪。您应格式化为4位数年份以避免此问题:

return date_format($date, 'Y-m-d');

答案 1 :(得分:1)

在格式掩码中使用大写Y返回4位数年份。