首页 文章

AppleScript:时间格式更改日历事件

提问于
浏览
1

我正在尝试创建一个脚本来记录当前时间,我的完成时间执行特定操作,他们发送了一封包含此相同时间变量的电子邮件,并使用此时间变量创建日历事件:

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
  • 时间格式

电子邮件的时间格式是“2018年6月4日星期一14:25:57”,当时我只想要14:25

我试过这个:

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

结果:错误“无法生成”14:27:02 \“进入型号 . ”数字-1700从“14:27:02”到数字

  • 日历

创建Calendar事件时出现此错误

错误“无法获取日期(日期\”2018年6月4日星期一14:29:34 \“) . ”编号-1728从日期(日期“2018年6月4日星期一14:29:34”)

1 回答

  • 1

    感谢您逐项列出您遇到的个别错误并希望修复 . 这对我来说更容易阅读这个问题并决定它是我想回答的问题,因为我根本不需要测试你的脚本,因为我可以立即看到问题是什么:

    ①你的括号在错误的地方 . 改变这个:

    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
    

    我还没有测试过脚本的其余部分 .

    附:你拼错了你的变量名 FinsihDate (我假设它是 FinishDate ) . 但是,它有任何实际的区别 .

相关问题