Düzenli ifadeler kullanmadan PHP Tarihler kurgulama

7 Cevap php

Bir tarih değiştirmek için bir yolu var mı

1985-12-15

karşı

1985-12

Düzenli ifadeler kullanarak olmadan?

7 Cevap

<?php echo date('Y-m', strtotime('1985-12-15')); ?>

İşte bunu yapmak gerekir.

Bu, strtotime kullanarak, bir unix zaman damgası 1985/12/15 çevirecektir. Tarih işlevi sonra tarihi biçimlendirmek için ikinci bir parametre zaman damgası alır.

() O zaman gibi, doğru tarih biçimde çıktı () tarih kullanmak strtotime aracılığı ile zaman tarih dönüştürmek:

<?php    
echo date("Y-m",strtotime("1985-12-15"));
?>

Bir düzenli ifade "ucuz" değildir düşünüyorsanız, o zaman fonksiyonları neredeyse kesinlikle daha pahalı olacak: geri bir dize içine biçimlendirmek sonra, bir zaman değeri dize dönüştürmek gerekir ...

Eğer bir dizide zaten o zaman değeri yok veya tarih fonksiyonu gelen böyle bir gibi çıktı whant mı?

Eğer tarih format nasıl emin değilseniz, size, strtotime işlevini kullanmanız gerekir aksi takdirde onun biçimini yyyy-gg-aaa ya da yy-md ise yapmak için muhtemelen kolay.

$datearray = explode('-',$date);
echo $datearray[0].'-'.$datearray[1];

değil iyi için substr($date,0,strrpos($date,'-'));?

Bu ucuz olurdu?