PHP nasıl önceden dize biçimini bilmeden sayısal formatta bir tarih çevirmek?

3 Cevap php

Yapmam gereken çeviri örnekleri:

$stringDate = "November 2009";  $output = "11/09";
$stringDate = "October 1 2010"; $output = "10/01/2010";

$stringDate = "January 2010"; $output = "01/10";
$stringDate = "January 9 2010"; $output = "01/09/2010";

Ben $ stringDate ve ay gün yıl setinde virgül eksikliği olacaktır hangi formatı bilmiyorum unutmayın.

Herhangi için teşekkürler herkes sunabilir yardımcı olur.

3 Cevap

PHP.net strtotime

Önce tarih () fonksiyonu kullanarak sonra kendi formatına, strtotime kullanarak UNIX zaman damgası dönüştürmek.

Çoğu biçimlerde tarih ve / veya saati yakalayabilir ve bunu date() ile istediğiniz gibi biçimlendirin bir zaman damgası dönüştürmek - strtotime() kullanın.

EDIT:
You can for example do it like this:

$stringDate = "October 1 2010";
$mysql_datetime = date("Y-m-d H:i:s",strtotime($stringDate));

Senin sorunun "Kasım 2009" bir tarih değil "1 Ekim 2010" olmasıdır.

Lütfen giriş tipi (tarih, tarih aralığı, vb) bilinmiyorsa, güvenilir bir dönüşüm elde etmek son derece zor olacak.

Eğer kurs kullanım date("format", strtotime($input)) içinde olabilir ama bu bir tarih için sadece sorunun bir parçası çözer ve $input bir tarih değilse sorunlara yol açacaktır.