タスクTを起動するスケジューラがあり、Tへのパラメーターの一部は日付に大きく依存しています。たとえば、Tが火曜日に実行される場合、一部のパラメーターは次のようになります。
param1 = datetime('Monday at 1pm')
param2 = datetime('Tuesday at 1am')
パラメーターは、 Tがいつ実行されるかによって異なります。たとえば、日曜日に実行する場合、パラメータは次のようになります。
param1 = datetime('Saturday at 12pm')
param2 = datetime('Sunday at 12pm')
等々。アイデアは、日付はTが実行されたときに相対的であるということですtimedelta
が、タスクがいつ実行されるか正確にわからないため使用できません。そのため、日付をある程度完全に制御したいと考えています。
ここで、 Tを開始するコードには、パラメーターを指定する小さな json パッケージがあります。相対日付を指定できる小さなスクリプト言語を作成中です。次のようになります。
date1: {
'type': 'datetime',
'source': 'composite',
'value': '(Yn)-(Mn)-(Dn)-(Hn)-(Nn)'
}
文字列が解析され、括弧内のvalue
内容に基づいてパラメーターがコンパイルされます。たとえば、が のvalue
ようなものである場合(Y:n)-(M:n)-(D:-1)-(H:18)-(N:00)
、現在の年、現在の月、前日の 18:00 で日付が作成されます。
私はこのようなもののいくつかで車輪を再発明しようとしていますか. 私の生活を楽にするライブラリはありますか?
編集: Date-Utils のRelative Deltaは、私が上で説明したこととまったく同じように見えます!