我正在构建一个允许用户向其iOS日历添加事件的应用。我正在使用事件存储添加此事件。用户提供了以下信息:开始日期,开始时间和结束时间。
我设置了EKEventStore
,并且可以添加事件标题,事件位置和事件注释。
let event = EKEvent(eventStore: store)
event.calendar = calendar
event.title = self.titleText
event.location = self.locationText
event.startDate = startDate
event.endDate = endDate
event.notes = self.notesText
do {
try store.save(event, span: .thisEvent)
self.showAlertWithOK(title: "Event Created in Calendar", message:
"This party has been added as an event in Calendar.")
}
catch {
print(error)
self.showAlertWithOK(title: "Error Creating Event", message: "There was an error when adding this party as an event in Calendar.")
}
开始日期来自名为String
的{{1}}。我使用dateText
将DateFormatter
String
转换为dateText
。
Date
那很好。但是,我的问题在于时代。
我已使用let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM/dd/yyyy"
let date = dateFormatter.date(from: self.dateText)
将startTimeText
和endTimeText
转换为类型String
。
DateFormatter
我尝试使用此问题中提供的解决方案,但它们不适合我的问题:https://stackoverflow.com/questions/43007554/how-to-combine-two-strings-date-time-into-a-new-date-in-swift-3。活动存储区不接受这些格式的日期。
如何将dateFormatter.dateFormat = "h:mm a"
let startTime = dateFormatter.date(from: self.startTimeText)
let endTime = dateFormatter.date(from: self.endTimeText)
和startTime
添加到活动中?将日期添加到endTime
时需要什么格式?