AppleScript: изменение формата времени + события календаря - PullRequest
0 голосов
/ 04 июня 2018

Я пытаюсь создать сценарий для записи моего текущего времени и моего времени окончания, выполнить определенное действие, они отправили электронное письмо с этой же переменной времени и создать событие календаря с этой переменной времени:

set FinsihDate to (current date) + 10 * hours + 30 * minutes
set startingDate to (current date)


set plistR to {FinsihDate:FinsihDate, starteddate:current date}

tell application "System Events"
    set plistf to make new property list file ¬
        with properties {name:"~/Desktop/MY_Time.plist"}

    set plistf's value to plistR
end tell



## Email
property lastWindowID : missing value
tell application "Mail"
    set windowIDs to id of windows
    if windowIDs does not contain lastWindowID then
        set newMessage to make new outgoing message with properties {subject:"Started early", content:"Hi ..., \n \nI started early today : " & (current date) & ", I will leave at " & FinsihDate & "\n \nKind Regards,\nKevin " & return & return}
        tell newMessage
            set visible to true
            make new to recipient at end of to recipients with properties {name:"Name", address:"@apple.com"}
        end tell
        activate
        set lastWindowID to id of window 1
    else
        tell window id lastWindowID
            set visible to false
            set visible to true
        end tell
        activate
    end if
end tell



set startDate to date (current date)
set endDate to date FinsihDate

tell application "Calendar"
    tell (first calendar whose name is "calendar")
        make new event at end of events with properties {summary:"Work", start date:startDate, end date:endDate, description:"ITS Fraud Prevention", location:"Apple"}
    end tell
end tell
  1. Формат времени

    формат времени в электронном письме: «Понедельник, 4 июня 2018 года в 14:25:57», когда я просто хочу 14: 25

Я пробовал это:

set myTime to (time string of (current date)) + 10 * hours + 30 * minutes

Результат: ошибка "Невозможно сделать \" 14: 27: 02 \ "в номер типа."номер -1700 с "14:27:02" на номер

Календарь

При создании события календаря у меня появляется эта ошибка

ошибка "Не удается получить дату (дату \") Понедельник, 4 июня 2018 года в 14:29.: 34 \ ")."номер -1728 от даты (дата «понедельник, 4 июня 2018 года в 14:29:34»)

1 Ответ

0 голосов
/ 04 июня 2018

Спасибо за перечисление отдельных ошибок, с которыми вы столкнулись и хотите исправить.Мне стало намного проще прочитать этот вопрос и решить, что я хотел ответить на него, потому что на самом деле мне вообще не нужно тестировать ваш сценарий, поскольку я сразу вижу, в чем проблемы:

① Ваши скобки не в том месте.Измените это:

set myTime to (time string of (current date)) + 10 * hours + 30 * minutes

на следующее:

set myTime to time string of ((current date) + 10 * hours + 30 * minutes)

② Ошибка указывает, что вы пытались взять переменную типа date, а затем снова объявили ее как тип date.AppleScript не нравится это.

Измените эти две строки:

set startDate to date (current date)
set endDate to date FinsihDate

на это:

set startDate to (current date)
set endDate to FinsihDate

Я не тестировал остальную часть сценария.

PS Вы неправильно написали имя вашей переменной FinsihDate (которое, как я предполагаю, означает FinishDate).Тем не менее, он неправильно написан во всем скрипте, поэтому не имеет никакого практического значения.

...