【FileMaker】「タイムスタンプ関数」で日付と時刻が取得できない
category: filemaker
filemakerの忘備録・小ネタです。開発しながら気が付いたことを書いています。
- 疑問
「タイムスタンプ関数」でタイムスタンプのデータをつくることができるのに、日付と時刻が取れないのはなぜ? - 回答
「テキスト関数」のGetAsDateとGetAsTimeを使えば取れるから
解説
————————————————————–
Get ( タイムスタンプ )
システムクロックに「2014 年1月1 日 11:30:00」と表示されている場合、「2014/1/1 11:30:00」を返します。
————————————————————–
タイムスタンプは日付と時刻を同時に取得できるので便利です。
でも悩みがありました
————————————————————–
「タイムスタンプから日付と時刻を取り出す関数がない」
————————————————————–
Day(日付)、Month(日付)、Year ( 日付 )、Hour ( 時刻 )、Minute ( 時刻 )
はあるけど
Date ( タイムスタンプ )、Time ( タイムスタンプ )
がないと思っていましたが下記の関数使えば解決できました
————————————————————–
GetAsDate ( テキスト )
テキストに含まれる日付を日付フィールドタイプに変換して、日付または日付関数を使用する計算式で使用できるようにします。
GetAsTime ( テキスト )
指定したテキスト内の時刻またはタイムスタンプを時刻フィールドタイプとして返します。 時刻またはタイムスタンプ関数を使用する式で使用します。
————————————————————–
でも、うまくいかない時がありました。
FileMaker形式のタイムスタンプではなく、外部データから取得したタイムスタンプの形式が異なることがあります。
————————————————————–
「2014-1-1 11:30:00」の形式のタイムスタンプで取れない
————————————————————–
そんな時は下記で解決してください
————————————————————–
GetAsDate ( Substitute ( テキスト ; “-” ; “/” ) )
————————————————————–
私はこんなことで半年悩んでいました<(_ _)>