今回はSikuliXのPythonで先月の頭、先月末などの日付を
変数で取得して先月1ヶ月分のデータを確保しようという方法。
Pythonではdateutilを使えと書いてありますがJythonには無いです。
意外と解説がなくて苦労しました。
●SikuliXで日付を変数で取得
こちらのページを参考にさせて頂きました。
ありがとうございます。
Pythonで先月を取得する
https://qiita.com/motchi0214/items/2451c1352bbcc0487492
標準でdatetimeをimportすれば時間の設定が出来るのですが、
どうやら月をまたいだ表現の解説がなさそうなので
ちょっと自作してみる事に
●Pythonプログラム
まず上のリンクサイト様を参考に下記をずっと読んで考える。
import datetime
# 今日を取得
today = datetime.datetime.today()
print today.strftime("%Y-%m-%d")
# 当月1日の値を出す
thismonth = datetime.datetime(today.year, today.month, 1)
print thismonth.strftime("%Y-%m-%d")
# 前月末日の値を出す
lastmonth = thismonth + datetime.timedelta(days=-1)
print lastmonth
# フォーマットを指定して、年月だけ拾う
print lastmonth.strftime("%Y%m")
これを改変して取り出したい日時を設定。
今回は先月の日なので難しそう・・・?
おや?
当たり前の事に気づきました。
そうですカッコ内の+や−の計算式を入れて調整できます。
これで好きな日時を調整出来ますね。
改造してみることに。
# 前月1日目の値を出す
lastmonth2 = datetime.datetime(today.year, today.month -1, 1)
print lastmonth2
# 前々月末日の値を出す
lastmonth3 = lastmonth2 + datetime.timedelta(days=-1)
print lastmonth3
こんな感じでlastmonth2を一行追加して
前月1日目〜前月末日を指定出来ました。
これでSikuliXで開始日と最終日を自由に設定できます。
簡単でした。
後はSikuliXで
paste( 画像 ,lastmonth2)
paste(lastmonth2.strftime("@Y@m@d"))
みたいに貼り付け作業pasteが関数を用いる事で簡単に操作出来ます。
●まとめ
簡単な事ですが、datetime関数だけで好きな日時を指定出来ました。
先月でも先々月でも昨年でも簡単です。
SikuliXで定義する変数を使い、文字列として入力すれば
自由に時間軸を操作して活用出来ます。
是非SikuliXで自由に時間軸の設定を操作してみてください。