1

次の形式で日付を取るapplescriptスクリプトを作成しようとしています:

99/02/20

次に、日付から 5 日を引き、次のような日付を返します。

99/02/15

これが私が持っている基本的なAppleScriptですが、明らかに、日付を操作できるものに変換する(そしてそれを人間が読めるものに戻す)に関するロジックがありません。

set itemPath to quoted form of POSIX path of theFile

set dateString to do shell script "awk 'NR == 10 {print $3}' " & itemPath & " -"
set myDueDate to dateString - (5 * days)

set theTask to "Pay AMEX bill"

tell application "OmniFocus"
    tell front document
        set theContext to first flattened context where its name = "OFFICE"
        set theProject to first flattened context where its name = "Bookkeeping - PMS"
        tell theProject to make new task with properties {name:theTask, context:theContext, due date:myDueDate}
    end tell
end tell

前もって感謝します!

4

2 に答える 2

1

私はこれらの行があなたが必要とするもののために十分であるべきだと思います:

set dateString to "02/20/99"

set thisDate to date dateString
set fiveDaysEarlier to thisDate - 5 * days
log date string of fiveDaysEarlier
log short date string of fiveDaysEarlier

このページには、文字列を日付クラスのオブジェクトに変換するときにサポートされる強制の例がいくつかあります 。AppleScriptクラスリファレンス:date

また、言うまでもありませんが、文字列「02/20/99」は2000年問題に準拠していないため、この日付がどの世紀にあるかをどこかで推測する必要があります。

于 2013-03-13T05:56:22.680 に答える
0

「FileMaker Pro でエラーが発生しました: オブジェクトが見つかりません」というエラーが表示された場合。番号 -1728、私の前の日付を追加してください。例えば、

thisDate を私の日付 dateString に設定します。

tell の内部で作業する場合、tell のスコープ外のメソッドにアクセスする必要があると思います。

于 2016-06-11T02:47:07.317 に答える