форматирование даты в php - PullRequest
1 голос
/ 12 марта 2009

У меня есть строка, как указано ниже:

$ts  = "3/11/09 11:18:59 AM"; which I have got using date() function

Теперь мне нужно преобразовать это в читаемый формат, как показано ниже

11-Mar-2009

Я пробовал все, используя дату ()

Может кто-нибудь помочь мне с этим ??

Ответы [ 4 ]

3 голосов
/ 12 марта 2009

Вам нужно преобразовать его во что-то, что вы можете использовать для дальнейшего форматирования. strtotime () - хорошее начало, которое дает метку времени Unix. Вы можете отформатировать его, используя strftime () затем.

strftime("%d-%b-%G", strtotime($ts));
1 голос
/ 12 марта 2009

На самом деле я пытался сделать это, и это сработало.

echo date("d-M-Y", strtotime($ts));  
1 голос
/ 12 марта 2009

Если вы изначально получили строку из функции date (), то вместо этого передайте аргументы форматирования в функцию date:

Дата ( 'Y-м-д')

вместо преобразования строки еще раз.

РЕДАКТИРОВАТЬ: Если вам нужно отслеживать фактическую отметку времени, то сохраните ее как отметку времени:

  
// Store the timestamp in a variable. This is just an integer, unix timestamp (seconds since epoch)
$time = time();

// output ISO8601 (maybe insert to database? whatever) 
echo date('Y-m-d H:i', $time);

// output your readable format
echo date('j-M-Y', $time);

Использование strtotime () удобно, но бесполезный разбор и хранение представления времени - глупая идея.

0 голосов
/ 12 марта 2009

Вы можете использовать функцию date () для генерации необходимого формата напрямую, например так:

date("j-M-Y");

См. www.php.net / date для всех возможных форматов вывода функции date ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...