如何在特定时间和日期添加日历活动?

时间:2017-05-19 07:58:01

标签: ios swift date time ekevent

  • 我从日期选择器获取日期和时间,并将设置为字符串格式。
  • 我想在指定的日期和时间添加活动。
  • 我想在给定的特定时间之前设置两个警告, 1 警报,如“5分钟,15分钟,30分钟”。事件时间 2 第二次提醒。
  • 在下面的代码中,我需要做些什么来完成我的要求。

给予任何建议或想法以使其得到体现 的由于

从日期选择器获取日期和时间

close

在此处创建并保存EKEvent:

let dateFormatter = DateFormatter()

    dateFormatter.dateFormat = "YYYY-MM-dd"
    routineDate = dateFormatter.string(from: self.datetimepicker.date)
    print(routineDate)

  let dateFormatter = DateFormatter()

    dateFormatter.dateFormat = "HH:mm a"
    routineTime = dateFormatter.string(from: self.datetimepicker.date)
    print(routineTime)

1 个答案:

答案 0 :(得分:3)

尝试将日期保存为日期:

let startDate = self.datetimepicker.date
let endDate = startDate.addingTimeInterval(3600 as TimeInterval)

然后使用它们来创建您的活动:

let event:EKEvent = EKEvent(eventStore: appleEventStore)
event.title = tempDescription

//  what should i need to change here for specific date and time?

event.startDate = startDate
event.endDate = endDate
event.isAllDay = false
event.notes = "This is a note"
event.calendar = cal

do {
    try appleEventStore.save(event, span: .thisEvent)
    print("events added with dates:")

    // Adding an Alert 1 hour before the startDate
    let reminder = EKAlarm(relativeOffset: -3600)
    event.addAlarm(reminder)
    print("Saved Event")
} catch let e as NSError {
    print(e.description)
    return
}

此外,您的事件的创建不应该在DateFormatter声明中。