/ Ay / yıl için (DB veya çıkış) Değişim tarih formatı - PHP MySQL

5 Cevap php

MySQL .. 'YYYY-AA-GG' Benim için tarih alan türü 'TARİHİ' (Ben her zaman depolama gerekmez) olarak (varsayılan) benim veritabanında tarihini depolar varsayılan değiştirmek için basit bir yolu var mı GG / AA / YYYY?

Ben 2 farklı tablolarda farklı tarihleri ​​çağırmak, ve benim kod herhangi hiçbir yerde ben bir tarih değişkeni ya da bir şey benzeyen bir şey var mı! Umarım bu bir yalındır değişimdir?

5 Cevap

PHP, yapabilirsin:

Bu gibi biraz, diyorum ki:

$timestamp = strtotime($date_from_db);
echo date('d/m/Y', $timestamp);

timestamps 1970/01/01 sayarak, 32 bit tamsayılar olarak saklanır Ama bu sadece 1970 ve 2038 arasındaki tarihleri ​​için çalışacaktır.


In MySQL, I suppose the date_format function would do the trick.
For example :

mysql> select date_format(curdate(), '%d/%m/%Y');
+------------------------------------+
| date_format(curdate(), '%d/%m/%Y') |
+------------------------------------+
| 19/03/2010                         |
+------------------------------------+
1 row in set (0.03 sec)


And, for the sake of completness, another solution, in PHP, that doesn't suffer from the limitation of 1970-2038 would be to use the DateTime class, and, especially :

Örneğin, bu kod bölümü:

$date = new DateTime('2010-03-19');
echo $date->format('d/m/Y');

bu çıkışını alabilirsiniz:

19/03/2010

MySQL işlevi inşa Sadece kullanımı DATE_FORMAT()

SELECT DATE_FORMAT(some_date_field, "Y/m/d");

DB onu aldıktan sonra, $time = strtotime($value) PHP bir zaman damgası dönüştürmek için kullanabilirsiniz. Sonra date("d/m/Y", $time) bu formatta almak için kullanabilirsiniz.

Tarih (string $ biçim [, int $ timestamp]): Eğer php bu fonksiyonu kullanabilirsiniz, mysql i gerçekten bilmiyorum, size sayfalarında istediğiniz herhangi bir formatta tarih görüntüleyebilirsiniz. Yani bunu yapabilirsiniz:

echo date ("d / m / Y", strtotime ($ your_date));

Sen tam açıklamasını burada bulabilirsiniz: http://php.net/manual/en/function.date.php

Eğer Zend Framework gibi bazı kullandıysanız veritabanları ve tarih biçimlendirme işlemek için sınıfların bol var, çünkü çok kolay olurdu. Sonra hep Brezilyalı tarih formatı olarak çıktı görecekti. Delphi TDateField geçerli bilgisayarda Windows tarih biçimini kullanır gibi, Zend kendi yapılandırmasında bakacağız.