如何正确格式化xml站点地图的上次修改(lastmod)时间

pet*_*duc 16 xml sitemap

我正在创建一个应用程序,sitemap.xml每次在网站上添加或更新新内容时,该应用程序都会自动更新.

根据Google的最佳做法,<lastmod></lastmod>标记的格式应如下所示:

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

我的问题涉及时间格式化本身.我理解这一2011-06-27T19:34:00部分.我不明白的是+01:00,我假设的是+/- UTC.

这是正确的假设吗?

我的时区表如下所示:

在此输入图像描述

因此,如果该网站位于#4阿富汗,那么正确的时间将是: 2011-06-27T19:34:00+04:00

如果该网站位于#6阿拉斯加标准时间,那么正确的时间将是: 2011-06-27T19:34:00-09:00

我的假设是正确的还是我没有正确理解+01:00

met*_*ode 17

lastmod标签在座位图中是可选的,在大多数情况下,它被搜索引擎忽略,因为网站管理员在保持准确性方面做得非常糟糕.在任何情况下,您都可以使用它,格式取决于您的能力和要求; 如果您不能或不想要,您实际上不必提供时区偏移,您也可以选择使用简单的YYYY-MM-DD.

sitemaps.orgLastmod定义部分:

上次修改文件的日期.此日期应采用W3C日期时间格式.如果需要,此格式允许您省略时间部分,并使用YYYY-MM-DD.

如果你想要达到那个粒度并提供时区偏移量,那么你是正确的,它是UTC +/-.从W3C日期时间:

时间以当地时间表示,以及以小时和分钟为单位的时区偏移.时区偏移"+ hh:mm"表示日期/时间使用的是本地时区,该时区是UTC的"hh"小时和"mm"分钟.时区偏移"-hh:mm"表示日期/时间使用的是本地时区,即"hh"小时和UTC后面的"mm"分钟.

例如,仍然来自W3C:

1994-11-05T08:15:30-05:00对应于1994年11月5日,美国东部标准时间上午8:15:30.


小智 6

在 C# 中正确格式化 XML 站点地图的上次修改 (lastmod) 时间

var ss = DateTime.Now.ToString("yyyy-mm-ddThh:mm:ss:zzz");
Run Code Online (Sandbox Code Playgroud)

  • 这是不正确的并显示无效日期,C# 的正确格式如下:`var lastmod = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:sszzz");` (4认同)