SharePointと yyyy/mm/dd

SharePointは「作成日時」や「更新日時」など、日付データを yyyy/mm/dd hh:mm 形式で表示しますが、実は、内部的には秒単位まで記録されています。

適当なリストに集計値列を作成し、次の計算式を入力します。
これで、秒単位までの更新日時が表示されます。

=TEXT(更新日時,”yyyy/mm/dd hh:mm:ss”)


ただ、ここで不思議なのは「月」と「分」の区別です。
どちらも「mm」ですよね?
他の計算式を試してみました。

1. =TEXT(更新日時,”mm”) → 01 月として扱われました。
2. =TEXT(更新日時,”m”) →1 同じく月、ただし一桁。
3. =TEXT(更新日時,”M”) →1 大文字と小文字の区別はないようです。
4. =TEXT(更新日時,”mm:ss”) →32:25 「分:秒」になりました。
5. =TEXT(更新日時,”ms”) → 125 「月秒」になりました。
6. =TEXT(更新日時,”mi”) → 1i 駄目。
7. =TEXT(更新日時,”nn”) → nn Access式も駄目でした…。

結局、SharePointは表示形式からある程度年月日を判断してくれます。
しかし、「分」単独では抽出できないようです。
もっとも、その為に MINUTE 関数がある訳ですが。

8. =MINUTE(更新日時) → 32

ただ、MINUTE 関数の場合、「7分」は「07」ではなく「7」になります。
二桁表記にしたい場合、さらに TEXT 関数を適用します。

9. =TEXT(MINUTE(更新日時),”00″) → 07

─実は、別に「分」を抽出したかった訳ではないのですが(笑)

本題は「SharePointの時刻は秒単位まで記録されている」ことです。
このため、例えばワークフローなどで、アイテムの作成日時を、単純に「作成日時(1) = 作成日時(2)」と評価すると、GUI上で同一であっても、秒単位の差異で FALSE になる場合があります。
あまり問題になる局面はないと思われますが、一応、仕様として把握しておくと良いかもしれません。


Author

中村 和彦(シンプレッソ・コンサルティング株式会社 代表)が「ユーザ視点の SharePoint 情報」を発信します。元大手製造業 SharePoint 運用担当。現SharePoint コンサルタント。お仕事のお問い合わせはこちらまでお願いします。当ブログにおける発信内容は個人に帰属し所属組織の公式発信/見解ではありません。
FB : 中村 和彦
blog: Be・Better!
MS MVP SharePoint 2009/10-2011/9
MS MVP Office 365 2012/10-2014/9