【问题标题】:App doesn't save date to calendar应用程序不将日期保存到日历
【发布时间】:2016-08-25 17:10:55
【问题描述】:

我正在尝试将特定日期保存到日历,但它不起作用,我正在使用特定数据并将其更改为字符串 当我使用当前日期时,它的工作!但不是具体的。 这是我的代码:

@IBAction func addToCalenderButton(sender: AnyObject) {
    let eventStore = EKEventStore()
    self.event?.Start
    let dateString = "Thu, 24 Oct 2015 07:45"
    let dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "EEE, dd MMM yyy hh:mm"
    let date:NSDate = dateFormatter.dateFromString(dateString)!
    dateFormatter.dateFormat = "EEE, dd MMM yyy hh:mm"


    if (EKEventStore.authorizationStatusForEntityType(.Event) != EKAuthorizationStatus.Authorized) {
        eventStore.requestAccessToEntityType(.Event, completion: {
            granted, error in
            self.createEvent(eventStore, title: (self.event?.title)!, startDate: date)
        })
    } else {
        createEvent(eventStore, title: (self.event?.title)!, startDate: date)
    }

}

func createEvent(eventStore: EKEventStore, title: String, startDate: NSDate) {
    let event = EKEvent(eventStore: eventStore)

    event.title = title
    event.startDate = startDate
    event.calendar = eventStore.defaultCalendarForNewEvents
    do {
        try eventStore.saveEvent(event, span: .ThisEvent)
        savedEventId = event.eventIdentifier
        Constant.displayAlert(self, title: "", Message: "The event has been added")
    } catch {
       print("Bad things happened")
    }
}

【问题讨论】:

  • 日期格式应为 HH:mm 和 yyyy
  • 我改了但没用@LeoDabus
  • 确保你得到一个有效的日期。您还应该为您的日期格式化程序设置一个日历

标签: ios swift nsdate nscalendar ekeventstore


【解决方案1】:

你应该改变

dateFormatter.dateFormat = "EEE, dd MMM yyy hh:mm"

dateFormatter.dateFormat = "EEE, dd MMM yyyy HH:mm"

【讨论】:

  • 替换最上面的一个
猜你喜欢
  • 2022-10-12
  • 2011-09-23
  • 1970-01-01
  • 2019-05-23
  • 2021-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-11
相关资源
最近更新 更多