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 になる場合があります。
あまり問題になる局面はないと思われますが、一応、仕様として把握しておくと良いかもしれません。
login