![](/img/trans.png)
[英]PHP DateTime::__construct(): Failed to parse time string at position 8 (0): Unexpected character
[英]DateTime::__construct(): Failed to parse time string (//) at position 0 (/): Unexpected character
無法使用 php POST 方法將日期傳遞給 MySQL。 得到標題中給出的錯誤。 這是我的代碼。
<code>
date_default_timezone_set("Asia/Kolkata");
$dd = substr($dob,0,2)."/";
$mm = substr($dob,3,2)."/";
$yyyy = substr($dob,6,4);
$fd = $yyyy.$mm.$dd;
$date = new DateTime($fd);
$formDateConverted = $date->format('Y-m-d');
<code>
你確定你正在獲取數據? 您的substr()
必須返回空字符串。
您正在為您的日期和月份添加斜線,並將它們以錯誤的順序重新組合在一起。 只需使用固定字符串運行您的代碼:
$dob = 'dd/mm/yyyy';
$dd = substr($dob,0,2)."/";
$mm = substr($dob,3,2)."/";
$yyyy = substr($dob,6,4);
$fd = $yyyy.$mm.$dd;
var_dump($fd);
結果:
string(10) "yyyymm/dd/"
對我來說, $dob
顯然是空的,因為substr()
產生的所有三個變量也是空的,除了你添加回來的斜杠,這是你在錯誤中得到的。 使用空變量再次運行代碼,您將得到: string(2) "//"
。
修復$dob
問題后,您可以按照 Chayan 的建議直接使用DateTime
類:
$date = DateTime::createFromFormat('d/m/Y', $dob);
echo $date->format('Y-m-d');
默認情況下,PHP 無法解析包含“/”的日期。 使用DateTime::createFromFormat函數。
$date = DateTime::createFromFormat('Y/m/d', $fd);
echo $date->format('Y-m-d');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.