Формат даты в формате Google Sitemap

Мне нужен формат даты для sitemaps в php.

Как я могу это сделать ?

Правильно ли этот выход?

<lastmod>2012-08-02EEST18:01:18+03:00</lastmod> 

Solutions Collecting From Web of "Формат даты в формате Google Sitemap"

Если у вас есть метка времени, вы можете правильно отформатировать дату следующим образом:

 <lastmod><?php echo date('c', $timestamp); ?></lastmod> 

Временной меткой может быть time() (для текущего времени) или какой-либо другой способ получения unix tiemstamp, например strtotime()

Чтобы отформатировать текущую временную метку в кодировке W3C Datetime (используется в файлах sitemap.xml), используйте следующие параметры.

 echo date('Ym-dTH:i:sP', time()); 

Начиная с PHP5 вы также можете использовать символ c-формата для печати той же строки.

 echo date('c',time()); 

Они оба распечатали следующее:

 2009-04-03T11:49:00+01:00 

ИСТОЧНИК

Чтобы преобразовать из формата даты и времени MySQL в тот, который необходим для lastmod в файлах Sitemap, просто используйте приведенный ниже код PHP.

 $lastmod = '2012-11-28 10:53:17'; //MySQL datetime format $datetime = new DateTime($lastmod); $result = $datetime->format('Ymd\TH:i:sP'); echo $result; //2012-11-28T10:53:17+01:00 

Согласно Google , он является необязательным полем, которое, если предусмотрено, должно быть отформатировано как

 YYYY-MM-DDThh:mmTZD 

Экспортирование SQL-данных по умолчанию зависит от настроек языка для вашего сервера и может включать пробелы и характеристики TZD, такие как:

 2014-09-19 10:33:05 UTC 

W3 указывает, что TZD можно отформатировать в любом из трех вариантов

TZD = обозначение часового пояса (Z или + hh: mm или -hh: mm)

Любые пробелы от форматирования по умолчанию должны быть удалены; символ «T» должен быть вставлен до времени, а TZD должен соответствовать одному из поддерживаемых типов.

Поэтому, чтобы отформатировать текущую временную метку, используйте следующие параметры.

 echo date('Ym-dTH:i:sP', time()); 

Начиная с PHP5 вы также можете использовать символ c-формата для печати той же строки.

 echo date('c',time()); 

У вас есть много форматов на выбор . Используя параметр c с функцией date() вы получите рекомендуемый формат для вас.

удалить «EES» Mine – это как 2013-12-26T19: 00: 00-05: 00 и работает http://www.industry-automation-parts.com/1_e_0_sitemap.xml

Вы получаете этот результат, потому что вы использовали старую рекомендованную строку timestamp

 Ym-dTH:i:sP. 

Однако, что вам нужно

 Ymd\TH:i:sP 

Эта единственная обратная косая черта изменит ситуацию. В какой-то момент капитал T стал особым символом в PHP, обозначающим timecode, поэтому, если вы не избежите T, вы получите именно то, что ваши отчеты.

Я знаю, что вопрос был о PHP, но я нашел эту страницу для поиска в Node / JavaScript. Таким образом, ближайший эквивалент Date.toISOString() :

 var d = new Date(); d.toISOString(); // "2017-04-19T07:23:16.040Z"