在PHP 中,您提供了嘗試轉換以下格式的日期的代碼dd/mm/yyyy 轉換為YYYY-MM-DD 格式。但是,您遇到了轉換回傳意外值 1970-01-01 的問題。
問題在於使用 PHP strtotime( ) 功能。當解析 dd/mm/yyyy 格式的日期時,strtotime() 假定前兩位數字代表月份 (mm),接下來的兩位數字代表日期 (dd)。例如,20/02/2000 將解釋為 2000 年 2 月 20 日。
但是,在您的情況下,URL 中的日期採用日/月/年格式 (dd/mm/yyyy) 。這意味著前兩位數字代表日期,接下來的兩位數字代表月份。因此,strtotime() 會誤解日期並傳回不正確的值。
要解決此問題,建議使用 DateTime:: createFromFormat() 方法而不是 strtotime()。此方法允許您指定日期字串的確切格式,確保正確解析它。以下是程式碼的更新版本:
透過使用 DateTime::createFromFormat(),您可以準確地將 URL 中的日期轉換為 YYYY-MM-DD 格式。
為了防止將來出現類似問題,正確設定 URL 中的日期格式非常重要。如果您以 dd/mm/yyyy 格式傳遞日期,請確保前兩位數字代表日期,後兩位數字代表月份。或者,考慮使用更標準化的格式,例如 YYYY-MM-DD。
以上是為什麼我的 PHP 程式碼在轉換 URL 中的 dd/mm/yyyy 日期時回傳 1970-01-01?的詳細內容。更多資訊請關注PHP中文網其他相關文章!