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
?
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
?
$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ł
Świetny prosty i w 100% funkcjonalny, dzięki. –
Użyj strtotime()
, aby przekształcić ten ciąg w uniksowy znacznik czasu, a następnie użyj funkcji date()
, aby wyświetlić ją tak, jak chcesz.
echo date("F j, Y, g:i a",strtotime($ts));
referencyjny:
Coś jak:
<?php
$date = '2013-09-30 01:16:06';
$convertDate = date('F jS, Y h:i:s', strtotime($date));
echo $convertDate;
?>
echo date("F d Y",strtotime("2013-09-30 01:16:06"))
Mysql zapytanie
select UNIX_TIMESTAMP(datetime_field) as datetime_field from table;
PHP
echo date("F d Y", $datetime_field)
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`;
@Hanky 웃 Panky, Wielkie dzięki.Mój angielski wciąż wymaga ulepszenia ': (' – BlitZ
Pozdrawiam, to nic wielkiego, żeby być smutnym z powodu :) –
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
"2013-09-30" jest bardziej czytelny niż "30 września 2013". – ViliusL