formatı gg-aa-yyyy ile php yapmak tarih

4 Cevap php

Ben aşağıdaki biçimde bir tarih var

MM-DD-YYYY

Nasıl bu PHP UNIX zaman dönüştürebilirsiniz

Teşekkürler

Küçük bir sorun yaşıyorsunuz

$date = strtotime($_POST['retDate']);
print $date; //Prints nothing
print $_POST['retDate']; //Prints 08-18-2009

4 Cevap

Biçimi hep böyle ise, ben gibi bir şey denemek istiyorum istiyorum:

list($m,$d,$y) = explode('-', '08-18-2009');
$time = mktime(0, 0, 0, $m, $d, $y);
print date('m-d-Y', $time);

Sizin örnekte olduğu gibi, sorun işlevi başarısız olduğunu. Bunu gibi pek kontrol etmelisiniz:

if(($time=strtotime('08-18-2009'))!==false)
{
 // valid time format
}
else
 echo 'You entered an invalid time format';

ya da böyle, bunu php tarih obyek kullanabilirsiniz

$tgl = "30-12-2013";
$tgl2 = DateTime::createFromFormat('d-m-Y', $tgl);
print_r($tgl2);
echo($tgl2->format('Y-m-d'));

ben bu yardımcı olur umarım ...

Kullan strtotime:

$str = "03-31-2009";
$unixtime = strtotime($str);

Bu yanıtlar ve yorumlar verilmiştir yana, PHP mükemmel Bu durumu uygun bir yerel işlev içerecek şekilde güncelledi. Çıkış PHP's DateTime object here. Bu, istendiği gibi yapacak createFromFormat yöntemi içerir. Bu özel örnekte:

$date = DateTime::createFromFormat('j-M-Y', $_POST['retDate']);

Oradan, istediğiniz gibi biçimlendirmek ya da diğer herhangi bir tarih işlemleri gerçekleştirebilirsiniz:

echo $date->format('Y-m-d');

Ve işte bu! Bu sadece 5.3.0 veya daha yüksek PHP sağlanır unutmayın!