LoginSignup
5
1

More than 1 year has passed since last update.

Autify で Salesforce を動かしてみよう~ vol.2 JSステップ・現在の日時

Last updated at Posted at 2021-02-23

はじめに

  • Autify で Salesforce を動かしてみよう、と思い記事にしてみます。
  • TIPSなども記載できれば、と考えています。

ご了承ください

  • まだまだ勉強中の部分もあります。間違っている箇所もあるかもしれません。
  • Salesforce、Autify は、この時点のバージョン(2021年1月頃) での内容になります。今後、仕様変更が変わることによって、内容の通りにならない可能性もあります。ご了承ください。
    • また、URLなども変更になっている可能性もあります。

前回まで

動作できるようになったので

日付項目、日時項目にAutifyを実行したときの日時を設定できるようにしてみたいと思います。

image.png

横のリンクをクリックするとその日付、日時が入る仕組みが用意されていますが…
これは見なかったことにします:flushed:

レコーディングをします。

日付、日時はレコーディング時に入力しました。
image.png

実行すると、その日付、日時で入力されてOKとなります。
image.png

当然、このままだと、常に同じ日付、日時になりますね。

日付や日時をAutifyテスト実施したときの日付・日時に設定出来たら、どうでしょうか。

  • 日時が動的になることによるバグを発見できるかもしれません。
    • 夜中、休日にもそのタイミングの日時にすることができますね。

やってみる

JavaScript ステップ (ステップ9) を用意しました。

image.png

ステップ9
var date = new Date();
var ymd  = date.getFullYear() + 
           '/' + ('0' + (date.getMonth() + 1)).slice(-2) +
           '/' + ('0' + date.getDate()).slice(-2);
return ymd;

JavaScript ステップ (ステップ11) を用意しました。

image.png

ステップ11
var date = new Date();
var ymdhms  = date.getFullYear() +
              '/' + ('0' + (date.getMonth() + 1)).slice(-2) +
              '/' + ('0' +  date.getDate()).slice(-2)       +
              ' ' + ('0' +  date.getHours()).slice(-2)      +
              ':' + ('0' +  date.getMinutes()).slice(-2)    +
              ':' + ('0' +  date.getSeconds()).slice(-2);
return ymdhms;

実行した結果、成功しました。
image.png

時刻に注目です。 10:06 になるはずでしたが、01:06 になっています・・・う~ん。
image.png

時差 (+9時間) を考慮する必要がありそうです。

ステップを書き換えます。

JTS_offset の行の 9 が 9時間の意味ですね。

ステップ9
var timezone_offset = new Date().getTimezoneOffset() * 60 * 1000;
var JST_offset = 9 * 60 * 60 * 1000;

var date = new Date(Date.now() + timezone_offset + JST_offset);
var ymd  = date.getFullYear() + 
           '/' + ('0' + (date.getMonth() + 1)).slice(-2) +
           '/' + ('0' + date.getDate()).slice(-2);
return ymd;
ステップ11
var timezone_offset = new Date().getTimezoneOffset() * 60 * 1000;
var JST_offset = 9 * 60 * 60 * 1000;

var date = new Date(Date.now() + timezone_offset + JST_offset);
var ymdhms  = date.getFullYear() +
              '/' + ('0' + (date.getMonth() + 1)).slice(-2) +
              '/' + ('0' +  date.getDate()).slice(-2)       +
              ' ' + ('0' +  date.getHours()).slice(-2)      +
              ':' + ('0' +  date.getMinutes()).slice(-2)    +
              ':' + ('0' +  date.getSeconds()).slice(-2);
return ymdhms;

正しい時刻になりました。
image.png

その他

変更履歴

  • なし。
5
1
2

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
5
1