LoginSignup
2
1

More than 3 years have passed since last update.

コレクションに格納した日時フィールドが日本時間になっていない件

Posted at

えっ、どういう事?

えー、多分表題を見てもピンと来ない方がほとんどなので一から説明します。
まず、下の氏名、日付を指定したcsvがあります。
clipboard-202011270937-avhbr.png

これを Utility - File Management オブジェクト内 Get CSV Text As Collection アクションを
使って、csvファイルの中身をコレクションに格納します。
clipboard-202011301000-imeym.png

コレクションに格納すると・・・・

clipboard-202011270939-h8o2u.png

あれ、日付が違う・・・・
そうなんです。実は日時のフィールドタイプってUTC(協定世界時)で取得しているんです・・・
つまり、日本時間に計算しなおすとUTCから9時間後になります。

じゃあ、あらかじめフィールドタイプをテキストで取れば良いんじゃない?

そーですよね。そー思うじゃないですか。
でも・・・
clipboard-202011270957-tzajp.png

テキストタイプに指定してもダメなんですよ・・・・

UTC To Local アクションを使う

ではどうするのか
そんな時は、 Utility - Date and Time Manipulation オブジェクトの UTC To Local アクションを
使います!

中身はこんな感じ

データアイテムを指定して、変換するタイムゾーンIDを入力します
そうすると指定のタイムゾーンに変換したデータアイテムを戻り値で返す仕組みになっています。
clipboard-202011271003-qv66r.png
clipboard-202011271008-kasf9.png

これを使ってcsvから取得したコレクションを日本時間に直そう

では、早速日本時間に直す処理をしましょう。
UTC To Local アクションをプロセスにセットして
clipboard-202011271034-mqtmw.png

UTCはコレクション内の日付フィールドを参照するように設定
Time Zone IDは日本時間に変換するため、Tokyo Standard Timeに設定
返す値もコレクション内の日付フィールドを指定
clipboard-202011271045-ptzzs.png

今回はコレクションアイテムなので繰り返しステージを置く

今回はcsvファイルから取得したコレクションアイテム内の日時データアイテムを使うので
UTC To Local アクションを繰り返しステージで囲みます。
clipboard-202011271056-euxww.png
clipboard-202011271042-zebmd.png

これで準備完了

clipboard-202011271048-ex3wx.png
これで一通り実装がそろったので早速、実行してみましょう。

実行すると?

clipboard-202011271057-o7mmq.png
UTCから9時間後の日時になっていますね!

まとめ

今回は、既存のアクションをプロセスの繰り返しステージを囲んでの
実装となりましたが今後、手が空いた時にコレクション内の日時データを
まとめて指定のタイムゾーンに変換出来るアクションを作成したいと思います!

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1