Tôi có một hình thức mà trong đó một ngày là đầu vào ở định dạng Vương quốc Anh, và tôi cần phải chuyển nó sangngày Định dạng dd/mm/yyyy để yyyy-mm-dd PHP
yyyy-mm-dd
ví dụ một ngày được nhập là: 31/03/2013
mà tôi muốn chuyển đổi thành '2013-03-31'
để chèn cơ sở dữ liệu.
Tôi đang sử dụng sau đó kỳ lạ chỉ hoạt động đôi khi:
$dateInput = $mysqli->real_escape_string($_POST['date']);
$show_date = date('Y-m-d', strtotime($dateInput));
Có cách nào tốt hơn để làm điều này?
Tại sao bạn thoát giá trị ngày .... thực sự có phục vụ bất kỳ mục đích nào không? –
Khi nào điều này không hoạt động đúng? Ngoài ra, thoát không có vẻ là một ý tưởng tốt (hoặc ít nhất nó có vẻ vô ích nếu định dạng ngày là chính xác). Có lẽ bạn nên cân nhắc sử dụng regex để kiểm tra định dạng ban đầu. – Uby
@ Darren lý do điều này đôi khi không hoạt động vì PHP dự kiến ngày ở định dạng Hoa Kỳ. Bạn phải sắp xếp lại nó trước khi giao nó cho 'strtotime()', nếu có. http://stackoverflow.com/questions/4163641/php-using-strtotime-with-a-uk-date-format-dd-mm-yy – Tushar