2013-10-03 19 views
15

Powiedzmy, że w mojej bazie danych mysql mam znacznik czasu 2013-09-30 01:16:06 i powiedzmy, że ta zmienna to $ts.Formatowanie daty na czytelny dla człowieka format

Jak mogę to wypisać, aby pokazać więcej jak September 30th, 2013?

+8

Och, daj spokój ... RTFM: [ 'DATE_FORMAT() '] (http: //dev.mysq l.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format). – BlitZ

+0

"2013-09-30" jest bardziej czytelny niż "30 września 2013". – ViliusL

Odpowiedz

33
$timestamp = "2013-09-30 01:16:06"; 
echo date("F jS, Y", strtotime($timestamp)); //September 30th, 2013 

Zauważ użycie S, aby uzyskać angielski sufiks porządkowy na dzień.
Ponieważ używasz już strtotime jeśli trzeba ludzkiego dane czytelne dla bieżącego czasumożna po prostu użyć słowa kluczowego „teraz”, jak w strtotime("now")

Powiązane źródeł

+0

Świetny prosty i w 100% funkcjonalny, dzięki. –

1

Coś jak:

<?php 
$date = '2013-09-30 01:16:06'; 
$convertDate = date('F jS, Y h:i:s', strtotime($date)); 
echo $convertDate; 
?> 
3
echo date("F d Y",strtotime("2013-09-30 01:16:06")) 
1

Mysql zapytanie

select UNIX_TIMESTAMP(datetime_field) as datetime_field from table; 

PHP

echo date("F d Y", $datetime_field) 
4

Nie sądzę, że php jest nawet potrzebne tam. Sprawdź funkcję MySQL DATE_FORMAT().

Przykład:

SELECT DATE_FORMAT('2013-09-30 01:16:06', '%M %D, %Y %H:%i:%s') as `readable`; 

Wynik:

September 30th, 2013 01:16:06 

Dla realnego użycia:

SELECT 
    DATE_FORMAT(`date_column`, '%M %D, %Y %H:%i:%s') as `readable` 
FROM 
    `your_table`; 
+0

@Hanky ​​웃 Panky, Wielkie dzięki.Mój angielski wciąż wymaga ulepszenia ': (' – BlitZ

+0

Pozdrawiam, to nic wielkiego, żeby być smutnym z powodu :) –

Powiązane problemy