【问题标题】:Why is SPList's LastItemModifiedDate not the same as the modified date shown in the list?为什么 SPList 的 LastItemModifiedDate 与列表中显示的修改日期不一样?
【发布时间】:2011-01-02 07:50:37
【问题描述】:

我有一个文档库,我以SPList 的形式以编程方式访问它。当我使用列表的 LastItemModifiedDate 属性时,返回的 DateTime 是 {1/7/2010 1:37:41 AM} 但是当我浏览到文档库时(使用我的网络浏览器)我可以看到最近修改的日期是 7/01/2010 12:37 PM(这是我编辑文件时的正确本地时间)。

这在我看来像是一个时区问题,但我不确定LastItemModifiedDate 的设置来自哪里。

我需要进行哪些更改才能使LastItemModifiedDate 和浏览器中出现的时间一致?

【问题讨论】:

    标签: sharepoint sharepoint-2007 document-library splist


    【解决方案1】:

    检查站点设置 => 区域设置 => 时区。如果您使用给定的偏移量将您的本地时间转换为 GMT,它们是否匹配?

    如果是,那么您可以尝试使用 SPWeb.RegionalSettings.TimeZone 获取站点的时区,然后使用 LocalTimeToUTCUTCToLocalTime 在站点的时区和 UTC 之间进行转换(请注意,在SharePoint,您可以为每个站点提供其自己的区域设置和时区)。

    编辑:仔细检查,SPList.LastItemModifiedDate 始终是 UTC。我会留下评论on MSDN

    【讨论】:

    • 我相信每个日期都在 SharePoint 内部存储为 UTC。这也是为什么他们需要在 DST 更改发生时修补 SharePoint(如这里:blogs.msdn.com/sharepoint/archive/2007/09/19/…
    • 我也是。由于 SharePoint 中的每个网站都可以有自己的时区,并且您可以在网站之间移动内容,我高度怀疑 SharePoint 是否总是重新计算日期,而是将其存储为 UTC,然后内部使用 UTCToLocalTime(或任何内部使用)来显示日期。
    猜你喜欢
    • 2023-03-21
    • 2020-04-28
    • 2013-08-03
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多