0
0

[T-DASH] 任意の時刻を任意のフォーマットで取得する

Last updated at Posted at 2024-09-19

Outline

T-DASHでは、時刻の情報を変数として用いる方法として、予約語がある。
この予約語を用いることで、時刻情報を使うことができる。

image.png

が! パターンが少ない!!

  • 過去の指定した時刻の情報を使いたい!
  • 違ったフォーマットで (YYYY/MM/DD や MM/DD/YYYY など)情報が欲しい!

なので、好きな相対時刻、好きなフォーマットで時刻情報を汎用的にとれるカスタム動作を紹介する

技術的情報

robot frameworkのGet Current Dateを用いる

${date} =  Get Current Date  local  -5 hours  result_format=datetime

第一引数 local は time_zone を指定します。
localで、自身の地域を指定します。

第二引数 increment は現在時刻からの加算日時を指定します。
加算日時として、以下単位を用いて構成します。

単位 意味
days 日数
hours 時数
minutes 分数
secounds 秒数

記入例

意味
1 days 1日後
- 1 hours 1時間前
- 1 days - 1 hours 1日と1時間前

第三引数 result_format は出力フォーマットを指定します。

代表例として

フォーマット 出力例
%Y-%m-%d %H:%M:%S 2024-10-01 12:00:00
%Y/%m/%d (%a) 2024/09/19 (Thu)

詳しくは、以下の仕様より取得してください

T-DASHの手順

カスタム動作

以下設定内容を Date.yamlのファイル名で保存する

ACT-CAT-CUSTOM-4d91c6b0-65ee-4636-a9cb-58758cbf05ea:
  action_category_name: Date
  icon: ''
  color: '#a38fcc'
  custom_data:
    file_name: Date
    pip_list: []
    library_list:
    - DateTime
  actions:
    ACT-CUSTOM-4061ff76-392e-49d8-b7fc-d952d9016200:
      action_name: 相対時刻を任意のフォーマットで変数に入れる
      action_type: operation
      action_format: 現在から「設定値1」加算した時刻を「設定値2」のフォーマットで変数名「設定値3」に格納する
      action_note: ''
      action_args:
      - value1
      - value2
      - value3
      action_def:
      - - '${date} = '
        - Get Current Date
        - local
        - ${value1}
        - result_format=${value2}
      - - Set Suite Variable
        - ${${value3}}
        - ${date}

次に、作成された Date.yamlをT-DASHの動作定義 -> カスタム動作 -> カスタム動作をインポート にてインポートし、実際にインポートされた設定内容を開く

image.png

4行目が、現在の時刻から、timezone、増減の日時、指定した時刻のカスタムフォーマット、で取得している。
5行目が、指定した変数名に得られた時刻データを設定する。

スクリプト

技術的情報に記載した、増減時刻の指定、フォーマットを第一、第二引数に設定した例です。

image.png

その結果は以下のようになります。
あとは、得られた変数 ${result_date1} ~ ${result_date3}を予約語と同じように変数として利用すればよい。

image.png

0
0
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
0
0