mam postać, w którym termin jest podawany w postaci brytyjskiego i trzeba przekształcić goData DD/mm/rrrr do rrrr mm, dd PHP
yyyy-mm-dd
np wprowadzona data to: 31/03/2013
, którą chcę przekonwertować na '2013-03-31'
dla wstawienia bazy danych.
Używam następujących składników, które dziwnie działa tylko czasami:
$dateInput = $mysqli->real_escape_string($_POST['date']);
$show_date = date('Y-m-d', strtotime($dateInput));
Czy istnieje lepszy sposób to zrobić?
Dlaczego wymykasz się wartości daty ... czy faktycznie służy w jakimkolwiek celu? –
Kiedy to nie działa poprawnie? Również ucieczka nie wydaje się dobrym pomysłem (a przynajmniej wydaje się bezużyteczna, jeśli format daty jest poprawny). Może powinieneś rozważyć użycie wyrażenia regularnego, aby sprawdzić początkowy format. – Uby
@Darren powodem tego nie działa czasami dlatego, że PHP oczekuje, że data będzie w formacie US. Musisz go ponownie ułożyć przed przekazaniem go do 'strtotime()', jeśli w ogóle. http://stackoverflow.com/questions/4163641/php-using-strtotime-with-a-uk-date-format-dd-mm-yy – Tushar