日付/時間の取得

3585 views

この記事では、特定日時を取得する方法を説明します。 

日付を使う場合

  • 今日の日付を取得
  • 月末、月初など特定日時の取得
  • タイムゾーンを指定した日時の取得

 GetTimeでの取得方法

GetTimeアクション(日時を取得)を使用すると、アクションが実行されたときの日付や時刻を取得できます。
また、詳細パラメータを利用することで、1日前、月末、といった特定日時を取得することも可能です。
アクションには、3つの設定箇所があります。

 

この項目では、どのような形式で日時を取得するのかを指定します。
デフォルトは YYYY-MM-DD HH:mm となっており、それぞれのアルファベットの意味は以下の通りです。

- Y:年(YYYY:4桁/YY:下2桁)
- M:月(M:1桁/MM:0埋め)
- D:日(D:1桁/DD:0埋め)
- H:時(H:1桁/HH:0埋め)
- m:分(m:1桁/mm:0埋め)
- s:秒(s:1桁/ss:0埋め)
※「分」「秒」はアルファベットを小文字にする必要がありますのでご注意ください。

例)「2026年7月15日 18時20分50秒」で取得

YYYY年M月D日 HH時mm分ss秒

例)「20260715」で取得

YYYYMMDD
この項目では、どの地域の日時を取得するのかを指定します。
デフォルトでは Asia/Tokyo となっており、これは日本時間を意味します。
デフォルトの Asia/Tokyo を削除して、表示される選択肢からタイムゾーンを選択することも可能です。

上記以外のタイムゾーンを指定したい場合は、こちらをご参照し直接入力してください。

この項目では、○日後や○ヶ月前など取得日時の調整を指定します。
基準は、アクションが実行された日時です。

例)1日前の日付を取得(日本時間)

また、初末オプションを使用することで週初めや月末などの日付を取得することが可能です。

例)先月末の日付を取得

 コードでの取得方法

AUTOROでは、JavaScript の momentライブラリを利用することができます。
  • 各アクションのパラメーターに変数を呼び出す方法( ${ } )で設定します。
  • 今日の日付を取得する場合は、「${moment().utcOffset(540).format('YYYY/MM/DD')}」をアクションパラメータに記入します。
  • ${moment()}:アクション実行時の日時取得(UTC時刻)

  • ${moment().utcOffset(540)}:日本時間の時差(540分)を設定

  • ${moment().utcOffset(540).format('YYYY/M/D')}:日付・時間のフォーマットを指定

  • ${moment().add(30, 'days')}:○日後(days:日付、month:月)

  • ${moment().subtract(30, 'days')}:○日前

  • ${moment().startOf('month')}:月初

  • ${moment().endOf('month')}:月末

  • ${moment().day(7)}:○曜日の日付(0〜6:今週の日〜土、-6~-1:前週の月〜土、7〜13:翌週の日〜土)
    ※日曜日が週の始まりです
    参考:https://www.yoheim.net/blog.php?q=20180201

moment()は日本語の曜日取得に対応していません。
下記のコードをコピーしてご利用していただくと、現在日時の曜日が取得可能です。

${ ["日","月","火","水","木","金","土"][moment().utcOffset(540).format("e")] }

[参考ページ]

 

  • 実行月の1日:${moment().utcOffset(540).format("YYYY-MM-01")}
  • 実行月の末日:${moment().utcOffset(540).endOf('month').format("YYYY-MM-DD")}
  • 先月1日:${moment().utcOffset(540).subtract(1, "months").format("YYYY-MM-01")}
  • 先月末:${moment().utcOffset(540).subtract(1, "months").endOf('month').format("YYYY-MM-DD")}
  • 翌月曜日:${moment().utcOffset(540).day(8).format("YYYY/MM/DD HH:mm")}
  • 前火曜日:${moment().utcOffset(540).day(-5).format("YYYY/MM/DD HH:mm")}

Desktop版でmoment方式を使用すると、PCの設定時間に準拠する仕様になっています。
そのため、PCが日本時間に設定されている場合は、時差分の540分の設定がなくとも、日本時間の取得が可能です。

 Webページに日付を入力する際の注意点

TypeTextアクション(文字入力)でWebページに日付を入力した場合、以下画像のように異なる日付が入力される場合があります。

これは以下の2つの要因で発生します。

  1. 開いたブラウザが海外からの扱いになっている
  2. 日付入力欄のtype属性の値がdateである(input[type=”date”]である)

対処方法は以下2つとなります。

  • 日付のフォーマットをMM/DD/YYYYとする
  • desktop版AUTOROを使用する

 ワークフローの設定例

今回作成するワークフローの概要は以下の通りです。

  • CSVファイルのダウンロード
  • ダウンロードしたファイル名の先頭に本日日付を追加
  • 変更したファイル名でストレージへファイルを保存

なお、ダウンロードするファイルは以下のファイルを利用します。

  • GetTimeアクション(日時を取得)で、本日日付を取得します。
    フォーマットは「YYYYMMDD」としています。
  • StoreValueアクション(変数に保存)で、本日日付を変数に保存します。
    変数名は「DateValue」としています。

  • OpenBrowserアクション(ブラウザを開く)で、このページを開きます。
  • Clickアクション(クリック)で、CSVファイルをダウンロードします。
    本ページ内の「サンプルCSV」は、「#AUTORO」のCSSセレクタで指定できます。

※詳しくは、「Web上からファイルをダウンロードして外部ストレージに保存する」をご参照ください。

  • GetDownloadFilesアクション(ダウンロードファイル一覧)で、このワークフロー内でダウンロードしたファイルの一覧を取得します。
  • GetItemFromListアクション(リストから要素を取得)で、最新のダウンロードファイルを指定します。
    今回は1つのファイルのダウンロードのみなのでこのアクションは必須ではありません。
    ただし、繰り返し処理でファイルをダウンロードする場合は必須になります。
    ダウンロードファイル一覧に複数のファイルが表示されますので、リストの1番目(インデックス 0)を指定することで、最新のダウンロードファイルが特定できます。

参考:ファイル

参考:リスト/配列

  • MatchTextアクション(正規表現で検索)で、最新のダウンロードファイルからファイル名のみを取得します。
    ダウンロードファイル情報には格納場所のパス情報を含みます。

    ファイル名を加工するために、パス情報からファイル名のみを取得します。
    正規表現で「[^/]+$」を指定することで『文字列の末尾にあるスラッシュ(/)を含まない連続した文字列』を取得しています。
     [^/] → スラッシュ(/)以外の1文字
     [^/]+ → 1文字以上連続したスラッシュ以外の文字列
     [^/]+$ → 文字列の末尾から見て最初に出てくるスラッシュまでの文字列

    参考:正規表現
    参考:正規表現を使って文字を抽出

  • StoreValueアクション(変数に保存)で、取得したファイル名を変数に保存します。
    変数名は「FileName」としています。
  • RenameFileアクション(ファイル名を変更)で、パス情報内のファイル名を変更します。
    元々のファイル名(FileName)の先頭に、本日日付(DateValue)を付け、「ー」で繋いでいます。

    参考:ファイルの名前を変更する(RenameFile)

  • SaveFileアクション(ファイルを保存)で、ファイル名を変更したファイルを指定のストレージへ保存します。

# 日時を取得
+get_time_1:
  action>: GetTime
  display_name>: '日時を取得'
  format: YYYYMMDD
  timezone: 'Asia/Tokyo'
  relativeTime: ''
  private: false
  meta:
    action:
      disabled: false

# 変数に保存
+store_value_2:
  action>: StoreValue
  display_name>: '変数に保存'
  key: DateValue
  value: +get_time_1
  setIfNotDefined: false
  private: false
  meta:
    action:
      disabled: false

# ブラウザを開く
+open_browser_1:
  action>: OpenBrowser
  display_name>: 'ブラウザを開く'
  url: 'https://support.autoro.io/docs/guide/その他の設定/日付-時間の取得/'
  lang: 'ja-JP'
  headless: true
  confirm: true
  windowSize: '1920 x 1080'
  useShadowDomSelector: false
  private: false
  meta:
    action:
      disabled: false

# クリック
+click_1:
  action>: Click
  display_name>: 'クリック'
  browser: +open_browser_1
  selector: '#AUTORO'
  confirm: true
  ignoreError: true
  timeout: 30000
  waitForDownload: true
  private: false
  meta:
    action:
      disabled: false

# ダウンロードファイル一覧
+get_download_files_1:
  action>: GetDownloadFiles
  display_name>: 'ダウンロードファイル一覧'
  order: DESC
  sort_by: CREATED
  private: false
  meta:
    action:
      disabled: false

# リストから要素を取得
+get_item_from_list_1:
  action>: GetItemFromList
  display_name>: 'リストから要素を取得'
  list: +get_download_files_1
  index: '0'
  private: false
  meta:
    action:
      disabled: false

# 正規表現で検索
+match_text_1:
  action>: MatchText
  display_name>: '正規表現で検索'
  text: +get_item_from_list_1
  regex: '[^/]+$'
  global: true
  private: false
  meta:
    action:
      disabled: false

# 変数に保存
+store_value_1:
  action>: StoreValue
  display_name>: '変数に保存'
  key: FileName
  value: +match_text_1
  setIfNotDefined: false
  private: false
  meta:
    action:
      disabled: false

# ファイル名を変更
+rename_file_1:
  action>: RenameFile
  display_name>: 'ファイル名を変更'
  filename: +get_item_from_list_1
  save_as: ${DateValue}ー${FileName}
  private: false
  meta:
    action:
      disabled: false

# ファイルを保存
+save_file_1:
  action>: SaveFile
  display_name>: 'ファイルを保存'
  provider: ''
  filename: +rename_file_1
  createPath: false
  private: false
  meta:
    display:
    action:
      disabled: false

このページは役に立ちましたか?

Share this Doc

日付/時間の取得

Or copy link

CONTENTS