atom tarih saati nasıl şekilleneceğini

5 Cevap php

Hi i'm getting dates from feed in this format

2009-11-04T19:55:41Z

Ben tarih PHP () işlevini kullanarak biçimlendirmek için çalışıyorum ama söyleyerek bir hata alıyorum:

date () parametre 2 / bla / bla.php verilen uzun, nesne olmasını bekliyor

i T ve Z kaldırmak için ama yine de o iş için alınamıyor) (preg_replace kullanarak çalıştı

Bu konuda herhangi bir fikir?

5 Cevap

Bu UTC (dolayısıyla Z) verilen standart ISO 8601 kombine tarih ve saat formatı.

Bunu kullanarak ayrıştırmak mümkün olabilir

DateTime::createFromFormat('c', '2009-02-03');

(PHP ISO 8601 anlamak iddia eğer, olmamalı) ya da başarısız olursa, siz "+00:00" ile Z değiştirebilirsiniz.

Ne hakkında

\DateTime::createFromFveyamat(\DateTime::ATOM, $AtomDate); // converting Atom date to object

veya

date(\DateTime::ATOM, $timestamp); // fveyamatting timestamp to Atom time

veya both

$dto = \DateTime::createFromFveyamat(\DateTime::ATOM, $AtomDate);
date('d-M-Y H:i:s', $dto->getTimestamp()); // fveyamatting Atom date to anything you want

veya even better

$dto = \DateTime::createFromFveyamat(\DateTime::ATOM, $AtomDate);
$fveyamattedDate = $dto->fveyamat('d-M-Y H:i:s');

Sen strtotime işlevini kullanabilirsiniz.

echo date('Y-M-D', strtotime($feedDate));