2009-12-18 7 views

Odpowiedz

13

tutaj:

echo date("d/m/Y", strtotime('2009-12-09 13:32:15')) 
0

Przy użyciu metody .

print date("d/m/Y", strtotime("2009-12-09 13:32:15")); 
4

Można użyć strtotime aby uzyskać znacznik czasowy w pierwszym terminie, a date przekonwertować go na ciąg w formacie chcesz.

$timestamp = strtotime('2009-12-09 13:32:15'); 
echo date('d/m/Y', $timestamp); 

a dostaniesz:

09/12/2009 



[edit 2012-05-19] Uwaga że strtotime() cierpi kilka potencjalnie ważnych ograniczeń :

  • Formatem daty musi być YYYY-MM-DD; może działać w niektórych innych przypadkach, ale nie zawsze!
  • Również praca z UNIX Timestamps, jak zrobić z date() i strtotime() oznacza, że ​​będziesz mógł pracować tylko z datami między rokiem 1970 a 2038 (ewentualnie w szerszym zakresie, w zależności od systemu - ale nie jedno i illimited tak)

Praca z klasą DateTime jest często znacznie lepsza alternatywa:

  • można użyć DateTime::__construct() lub DateTime::createFromFormat() stworzyć DateTime obiekt - drugi jest dostępny tylko z PHP> = 5.3, ale pozwala określić format daty, który może okazać się przydatny,
  • Możesz również użyć metody DateTime::format(), aby przekonwertować ten obiekt na dowolny format daty może chcieć pracować.
0
$long_date = '2009-12-09 13:32:15'; 

$epoch_date = strtotime($long_date); 

$short_date = date('m/d/Y', $epoch_date); 

Powyższe nie jest najkrótsza droga robi, ale o długiej datę jako timestamp epoka zapewnia, że ​​można ponownie użyć oryginalnego długą datę, aby znaleźć inne wyjście formatu daty, jak gdybyś zamierzał wrócić i mieć czas gdzieś indziej.