Q&A 日付/時刻の書式変換

Q: 次のような日付時刻(文字列)を OGC GeoPackage [GEOPACKAGE] ライターによって出力先テーブルの datetime 型のフィールドに書き込みましたが、結果をQGISの属性テーブルで確認したところ、そのフィールドは空になっていました。日付時刻を datetime 型のフィールドに正しく書き込むにはどのようにすれば良いでしょうか。

2019-11-15T08:20:30 

FME 2019.2

A: GEOPACKAGEライターに限らず、日付/時刻データ型をサポートするデータフォーマット用のライターは、FMEの標準書式による日付/時刻値(文字列)をそのデータフォーマット用の日付/時刻値に自動的に変換します(注)。問のケースでは、その日付時刻値を DateTimeConverter によってFMEの標準書式に変換すれば、GeoPackage の datetime 型のフィールドに正しく書き込むことができます。

注: 本稿執筆時点のバージョンのFMEでは、出力先フィーチャータイプ(テーブル)における日付/時刻型のフィールドに値を書き込む際の書式としてFMEの標準日付/時刻書式のみが有効ですが、今後のバージョンアップにより、ISOなどのよく使われる日付/時刻書式でも正しく書き込めるように機能強化される可能性があります。

Datetime Attributes: 入力フィーチャーが持っている属性のうち、書式を変換したい日付/時刻値(文字列)を格納している属性(複数可)を選択します。

Input Format(変換前フォーマット): 日付/時刻書式指定子の組み合わせによって上記属性に格納されている変換元の日付/時刻値の書式を指定します。ただし、変換元の書式がFME標準またはISO標準の日付/時刻書式である場合は、<Auto detect FME and ISO formats> によって自動的に検出できます。上記例の “2019-11-15T08:20:30″(%Y-%m-%dT%H:%M:%S)はISO標準書式です。

Output Format(変換後フォーマット): 変換後の日付/時刻値の書式を指定します。FME、ISOの標準日付/時刻書式などのほか、日付時刻書式指定子の組み合わせによって任意の書式が指定できます。