2010-11-02 56 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