我使用jQuery datepicker在輸入日期中選擇一個日期。將日期轉換爲日期時間時出錯
,即時通訊在日期選擇器腳本中使用的格式爲:dateFormat: 'DD, d MM, yy',
所以我在輸入獲取此日期:「金塔 - 費拉,1馬尤2014」(葡萄牙語日期)。
但現在我需要將此日期轉換爲保存,如日期時間在MySQL中。
我只需要下面使用此代碼,如果日期是在英語:
$date = DateTime::createFromFormat('l, j F, Y', $_POST['date']);
echo $date->format('Y-m-d');
但我的約會心不是英語,所以我需要做的轉換和我試着用下面的「convertDate」的功能做這個。
但是,當我調用函數,並我通過輸入日期值是這樣的:convertDate($_POST['date']);
我收到一個錯誤「電話在該成員函數格式()非對象上行:$day= $date->format("l");
你看到了什麼在這裏因爲溫控功能對我來說似乎不錯
function convertDate($myDate){
$date = DateTime::createFromFormat('Ymd', $myDate);
$day = $date->format("l");
$daynum = $date->format("j");
$month = $date->format("F");
$year = $date->format("Y");
switch($day)
{
case "Segunda-Feira": $day = "Monday"; break;
case "Terça-Feira": $day = "Tuesday"; break;
case "Quarta-Feira": $day = "Wednesday"; break;
case "Quinta-Feira": $day = "Thursday"; break;
case "Sexta-Feira": $day = "Friday"; break;
case "Sábado": $day = "Saturday"; break;
case "Domingo": $day = "Sunday"; break;
default: $day = "Unknown"; break;
}
switch($month)
{
case "Janeiro": $month = "January"; break;
case "Fevereiro": $month = "February"; break;
case "Março": $month = "March"; break;
case "Abril": $month = "April"; break;
case "Maio": $month = "May"; break;
case "Junho": $month = "June"; break;
case "Julho": $month = "July"; break;
case "Agosto": $month = "August"; break;
case "Setembro": $month = "September"; break;
case "Outubro": $month = "October"; break;
case "Novembro": $month = "November"; break;
case "Dezembro": $month = "December"; break;
default: $month = "Unknown"; break;
}
echo $daynum . ", " . $month . ", " . $year;
}
與S嘗試?! tr_ireplace:
$english = array("Segunda-Feira","Terça-Feira","Quarta-Feira","Quinta-Feira","Sexta-Feira","Sábado","Domingo");
$portuguese = array("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");
$result= str_ireplace ($english , $portuguese, $_POST['date']);
$date = DateTime::createFromFormat('l, j F, Y', $result);
echo $date->format('Y-m-d');
我echo $date->format('Y-m-d')
得到了同樣的錯誤
做一個'var_dump($ myDate)'給我們看結果請。 –
我收到這個:「string(25)」Sexta-feira,2 Maio,2014「」,這是我在日期選擇器中選擇的日期! – OzzC
你回到你最後一個問題中的同樣的問題。該日期格式不適用於'DateTime()'(並且您在createFromFormat中的格式不正確)。我建議使用正則表達式將此日期字符串分解爲您需要的部分。從那裏你的代碼的其餘部分應該工作。 –