webmaster tool subir sitemaps google eliminar check php sitemap date-format

php - tool - sitemap website



Formato de fecha de Google Sitemap (9)

Necesito el formato de fecha para sitemaps en php.

Cómo puedo hacer eso ?

¿Esta salida es correcta?

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


Estás obteniendo esta salida porque usaste la antigua cadena de marca de tiempo recomendada

Y-m-dTH:i:sP.

Sin embargo, lo que necesitas es

Y-m-d/TH:i:sP

Esta barra diagonal única hará la diferencia. En algún momento, una T mayúscula se convirtió en un carácter especial en el código de tiempo de PHP, por lo que si no escapa de la T, obtendrá exactamente lo que informa.


Para convertir el formato de fecha y hora de MySQL al que se necesita para lastmod en sitemaps, solo use el código PHP a continuación.

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


Para formatear la marca de tiempo actual en la codificación W3C Datetime (como se usa en los archivos sitemap.xml) use los siguientes parámetros.

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

A partir de PHP5, también puede utilizar el carácter de formato c para imprimir exactamente la misma cadena.

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

Ambos imprimirían lo siguiente:

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

SOURCE


Sé que la pregunta era sobre PHP, pero encontré esta página en Google para Nodo / JavaScript. Así que el equivalente más cercano es Date.toISOString() :

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


Si tiene la marca de tiempo, puede formatear la fecha correctamente de la siguiente manera:

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

La marca de tiempo podría ser time() (para la hora actual) o algún otro método para obtener un unix tiemstamp como strtotime()


con moment.js;

moment().format(''YYY-MM-DDTHH:mm:ssZ'')




Según Google , el valor es un campo opcional que, si se proporciona, debe formatearse como

YYYY-MM-DDThh:mmTZD

La exportación predeterminada de una fecha y hora de SQL depende de la configuración de idioma de su servidor y puede incluir espacios y TZD caracterizados como:

2014-09-19 10:33:05 UTC

El W3 especifica que TZD puede formatearse en cualquiera de las tres opciones

TZD = designador de zona horaria (Z o + hh: mm o -hh: mm)

Los espacios de su formato predeterminado deben ser eliminados; el carácter ''T'' debe insertarse antes de la hora, y el TZD debe coincidir con uno de los tipos admitidos.

Por lo tanto, para formatear la marca de tiempo actual, use los siguientes parámetros.

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

A partir de PHP5, también puede utilizar el carácter de formato c para imprimir exactamente la misma cadena.

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