2010-01-07 7 views
2

프로그래밍 방식으로 액세스하는 문서 라이브러리가 SPList입니다. 목록의 LastItemModifiedDate 속성을 사용하면 반환 된 DateTime은 (2010 년 1 월 7 일 1:37:41 AM)입니다.하지만 웹 브라우저를 사용하여 문서 라이브러리를 탐색하면 가장 최근에 수정 된 날짜를 볼 수 있습니다. 날짜는 7/01/2010 12:37 PM입니다 (파일을 편집 할 때 로컬이 맞음).SPList의 LastItemModifiedDate가 목록에 표시된 수정 된 날짜와 다른 이유는 무엇입니까?

이것은 시간대 문제인 것처럼 보이지만 어디에서 LastItemModifiedDate의 설정을 가져 오는지 잘 모르겠습니다.

LastItemModifiedDate과 브라우저에 표시되는 시간이 일치하도록 변경하려면 무엇이 필요합니까?

답변

4

사이트 설정 => 국가 별 설정 => 시간대를 확인하십시오. 주어진 오프셋을 사용하여 현지 시간을 GMT로 변환하면 일치합니까?

그렇다면 SPWeb.RegionalSettings을 사용하여 사이트의 표준 시간대를 사용해보십시오. 을 입력 한 다음 LocalTimeToUTC 또는 UTCToLocalTime을 사용하여 사이트의 표준 시간대와 UTC간에 변환합니다 (SharePoint에서는 각 사이트에 고유 지역 설정 및 TimeZone을 제공 할 수 있음).

편집 : SPList.LastItemModifiedDate는 항상 두 번 선택되며 항상 UTC입니다. 나는 코멘트 on MSDN를 남길 것이다.

+2

저는 모든 날짜가 내부적으로 SharePoint에 UTC로 저장되어 있다고 생각합니다. 또한 DST 변경 사항이 발생할 때 SharePoint를 패치해야하는 이유가 여기에 있습니다 (http://blogs.msdn.com/sharepoint/archive/2007/09/19/important-hotfixes-for-comingcoming-daylight-savings). -time-dst-change.aspx) – naivists

+1

마찬가지로 SharePoint의 모든 사이트는 자신의 표준 시간대를 가질 수 있으므로 사이트간에 콘텐츠를 이동할 수 있으므로 SharePoint에서 항상 날짜를 다시 계산하지는 않지만 UTC 내부적으로 UTCToLocalTime (또는 내부적으로 사용하는 모든 것)을 사용하여 날짜를 표시합니다. –