2010-11-02 378 views
1

我无法从我的表单中将日期导入到mysql中。在MySQL中的英文日期格式

我的形式进行验证,这样的输入将始终DD/MM/YYYY

我目前使用

$date = date('Y/m/d', strtotime($_POST['night_attending'])); 

这需要从表单中值和年/月给它分配/天

的问题是,它的阅读我的形式为mm/dd/yyyy的

我可以交换代码“Y/d/M”,这就会把它变成我的数据库以正确的方式轮,但它会停止工作,如果这一天是过去12日,因为它仍然认为它是一个月

我一直在使用

date_default_timezone_set('Europe/Dublin'); 

date_default_timezone_set('Europe/London'); 

尝试,但它没有什么区别

我正在考虑在我的表单上使用mm/dd/yyyy格式,但这不是很好,因为它是英国网站。

有没有人遇到过这个问题?我确定它必须是comman,必须有一个简单的答案,我错过了。

感谢

alsweet

回答

2

没有办法设置MySQL的日期格式 - 选项存在,但它们没有被强制/使用。

我不建议存放日期为VARCHAR为了维护您的格式 - 使用MySQL的格式,并与MySQL date functions合作(IE:STR_TO_DATEDATE_FORMAT)输出你想为屏幕的格式。

请注意,日期将取决于MySQL所在主机的时区 - 您可能需要考虑根据您的需要使用时代时间戳。

2

这会给你从英国日期的MySQL日期格式。

$timestamp = strtotime(str_replace('/', '.', '03/04/2011')); 
$mysql_date = date('Y-m-d', $timestamp); // 2011-04-03