PHP:將URL 中的日期從dd/mm/yyyy 轉換並解析為YYYY-MM-DD
在傳遞日期時透過URL 格式化dd/mm/yyyy,必須確保正確轉換為YYYY-MM-DD 格式以實現資料庫相容性。
PHP 轉換:錯誤用法
提供的程式碼最初使用 strtotime($this->param('_parameter')) 來轉換日期。但是,如果輸入格式不嚴格遵守美國日期約定 (mm/dd/yyyy),則此方法很容易出錯。這可能會導致不正確的轉換。
正確的日期解析和轉換
要準確處理日期解析和轉換,請考慮使用 DateTime::createFromFormat() 來解析日期轉換為 DateTime 物件。該物件提供了各種格式化和操作日期的方法。
<code class="php">$date = DateTime::createFromFormat('d/m/Y', '20/02/2000'); $D->query = $date->format('Y-m-d'); // 2000-02-20</code>
潛在的歧義和解決方案
當處理日和月之間可能不明確的日期時,DateTime ::createFromFormat() 提供了一個通用的解決方案。它可以解析歐洲 (dd-mm-yyyy) 和美國 (mm/dd/yyyy) 格式。
其他注意事項
對於準確的資料庫查詢,至關重要確保資料庫中儲存的日期格式一致,例如 YYYY-MM-DD。這將防止查詢過程中出現問題並確保高效的資料檢索。
注意:建議在繼續轉換和查詢之前徹底驗證輸入日期。
以上是如何在 PHP 中安全地將 URL 中的日期從 dd/mm/yyyy 轉換為 YYYY-MM-DD?的詳細內容。更多資訊請關注PHP中文網其他相關文章!