1

タスク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は、私が上で説明したこととまったく同じように見えます!

4

1 に答える 1

3

人間が読める日付/時刻の解析には、parsedatetimeを使用できます

「人間が読める」文字列をそのまま保存し、必要に応じて評価します。

于 2013-02-25T17:58:20.510 に答える