2012-10-30 13 views
6

Bir tarihi yeniden biçimlendirmek ve mysql'e göndermek için php kullanıyorum. Her şey gelecek yıl için tarihleri ​​geçene kadar harika çalışıyor. Örneğin Mon, 14 Jan, 2013, 2012-01-16'a çevrilecektir. Biçim, tarih değil, doğrudur. Geçtiğim biçimi değiştirmeyi bile denedim, yine de bir değişiklik yok. Hatta geçmiş yıllar, yeni bir yıl girdiğinizdephp strtotime() Farklı bir yılın tarihi ile karışıklık

$startdate = $_REQUEST['one']; 
$start = date("Y-m-d", strtotime($startdate)); 

herhangi ipuçları hıçkırık sadece olur neden olarak: İşte Mon, 14 Jan, 2013 alır ve burada bunu işler php budur?

+0

Eh, _something_ '' Mon ekleyerek yanlıştır: yerine date_create_from_format kullanmak istiyorsanız

aşağıdaki gibi yapılır. [Bu] (http://codepad.org/BXfxxeX5) iyi çalışıyor. Düzenleme: Ya işe yaramıyor! – Prasanth

+0

'Mon, 14 Ocak, 2012' denediniz mi? Bu geçmişte ve hala başarısız olacak. ("2012-01-16") –

+0

no'yu verir. Geçerli yıl, – Osman

cevap

6

strtotime() için geçerli olan tüm geçerli biçimlerin listesi için here numaralı sayfaya bakın. Kullanmakta olduğunuz mevcut değil.

date_create_from_format("Mon, 14 Jan, 2013","D, d M, Y") 
+0

Diğer tüm tarihler için işe yarayacak ne olurdu? – Osman

+0

@ Mr.SirKingOsman Diğer tüm tarihler için çalışmıyor. Sana bir örnek verdim. 'Mon, 14 Ocak, 2012' 2012-01-16' olarak yorumlandı. Bu tür bir dizeyi zaten ayrıştırmak zor olurdu, çünkü tarihle uyuşmayan bir hafta içi gününe girmek mümkün. –

+0

Nereden geldiğini görüyorum ama tarih ve formatı kontrol ediyorum, kullanıcı sadece seçiyor, bu sistemi denedim ve avantajlarını görüyorum ve çalışıyor, teşekkürler! – Osman