Scripting AppleScript:将iCal事件移动到第二天

Scripting AppleScript:将iCal事件移动到第二天,scripting,calendar,applescript,osx-mavericks,icalendar,Scripting,Calendar,Applescript,Osx Mavericks,Icalendar,祝你圣诞快乐 我的日程表被错误地导入到我的工作日历中。我通宵工作,所以午夜后的片段不会像应该的那样在下一个日历日创建 我想写一个AppleScript,查看该日历周中的所有事件,如果它们发生在上午00:00:00到下午12:00:00之间,则将它们移动到第二天 我正在非常缓慢地建造这个。在成功修改某一天之后,我将创建一个嵌套循环来完成整个星期的工作 这是我的密码。它将隔离需要移动的事件,甚至将它们移动到第二天,但不会保留事件的正确开始和结束时间 示例-活动时间为明天凌晨2:00,当前时间为下午3

祝你圣诞快乐

我的日程表被错误地导入到我的工作日历中。我通宵工作,所以午夜后的片段不会像应该的那样在下一个日历日创建

我想写一个AppleScript,查看该日历周中的所有事件,如果它们发生在上午00:00:00到下午12:00:00之间,则将它们移动到第二天

我正在非常缓慢地建造这个。在成功修改某一天之后,我将创建一个嵌套循环来完成整个星期的工作

这是我的密码。它将隔离需要移动的事件,甚至将它们移动到第二天,但不会保留事件的正确开始和结束时间

示例-活动时间为明天凌晨2:00,当前时间为下午3:00。我运行脚本将其移动到明天,事件将移动,但新的开始和结束时间等于下午3:00

tell application "Calendar"
activate
set tomorrow to ((current date) + 1 * days)
set theDate to (current date)
set yesterday to ((current date) - 1 * days)
set time of theDate to 12 * hours
set time of yesterday to 24 * hours

tell calendar "myCalendar"
    set x to events whose (start date < theDate)
    repeat with i in x
        if start date of i > yesterday then
            show i
            set start date of i to tomorrow
            set end date of i to tomorrow
        end if
    end repeat
end tell
end tell
告诉应用程序“日历”
使活动
将明天设置为((当前日期)+1*天)
将日期设置为(当前日期)
将昨天设置为((当前日期)-1*天)
将日期时间设置为12*小时
将昨天的时间设置为24*小时
告诉日历“我的日历”
将x设置为事件(开始日期<日期)
用x中的i重复
如果i>昨天的开始日期,则
显示我
将i的开始日期设置为明天
将i的结束日期设置为明天
如果结束
结束重复
结束语
结束语
我知道这可能不是最优化的代码,只是希望您能提供任何帮助。非常感谢


谢谢

也许你可以像这样设置开始日期“将i的开始日期设置为(i的开始日期)+(1*days)”(你明白我的意思)并且不更改任何其他内容(结束日期、时间)。谢谢你的快速响应。非常有趣的结果,但有了一点凡南岭,我就成功了!!!非常感谢!如果没有你的帮助,我不会这么容易得到它。有趣的是,在我的情况下,你必须在更改开始日期之前更改结束日期!!把它贴出来作为答案,我会接受的!