it-swarm.dev

Jak správně formátovat poslední upravený (lastmod) čas pro soubory XML

Vytvářím aplikaci, která automaticky aktualizuje soubor sitemap.xml pokaždé, když je nový obsah přidán nebo aktualizován na webu.

Podle nejlepších postupů společnosti Google by měla být značka <lastmod></lastmod> formátována následovně:

<lastmod>2011-06-27T19:34:00+01:00</lastmod>

Moje otázka se týká samotného formátování času. Rozumím části 2011-06-27T19:34:00. Co nechápu, je +01:00, které považuji za +/- UTC

Je to správný předpoklad?  

Tabulka časových pásem vypadá takto:

enter image description here

Pokud by tedy místo bylo založeno v # 4 Afghánistánu, správný čas by byl: 2011-06-27T19:34:00+04:00

Pokud byl web založen na # 6 Alaska Standard, správný čas by byl: 2011-06-27T19:34:00-09:00

Je můj předpoklad správný nebo nerozumím správně +01:00?

13
petebolduc

Značka lastmod je volitelná v souborech sitmaps a ve většině případů je vyhledávače ignorována, protože webmasteři dělají hroznou práci a udržují ji v přesnosti. V každém případě jej můžete použít a formát závisí na vašich schopnostech a požadavcích; nemusíte vlastně poskytovat posun časové zóny, pokud nemůžete nebo nechcete, můžete se rozhodnout jít s jednoduchým RRRR-MM-DD.

Z Lastmod definice sekce sitemaps.org :

Datum poslední úpravy souboru. Toto datum by mělo být ve formátu W3C Datetime . Tento formát umožňuje v případě potřeby vynechat časovou část a použít RRRR-MM-DD.

Pokud chcete jít do této granularity a poskytnout časový posun také, máte pravdu, je to UTC +/-. Z W3C Datetime :

Časy jsou vyjádřeny v místním čase, spolu s posunem časové zóny v hodinách a minutách. Posun časové zóny "+ hh: mm" označuje, že datum a čas používá místní časové pásmo, které je "hh" hodin a "mm" minut před UTC. Posun časové zóny "-hh: mm" označuje, že datum/čas používá místní časové pásmo, které je "hh" hodin a "mm" minut za UTC.

A například, stále z W3C:

1994-11-05T08: 15: 30-05: 00 odpovídá 5. listopadu 1994, 8:15:30 hod., Východní čas USA.

12
methode

Správně formátovat poslední upravený čas (lastmod) pro soubory Sitemap XML v jazyce C #

var ss = DateTime.Now.ToString("yyyy-mm-ddThh:mm:ss:zzz");
4
Safavi

PHP by mělo být ve skutečnosti:

date('Y-m-d\TH:i:s+00:00');
1
Mitch

V PHP můžete použít: 

$lastmod = date("Y-m-d\Th:m:s+00:00");

Zobrazí se něco jako: 

2018-02-14T08:02:28+00:00
0
Imabot

Formát lastmod pole v Google Sitemaps XML pro C # je následující: 

var lastmod = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:sszzz");

Poskytuje hodnoty jako <lastmod>2018-08-24T09:18:38-04:00</lastmod>, což je formát W3C Datetime .

0
truemedia