Ios EKEventStore事件开始日期时区
我想从本地电话日历加载事件 代码如下:Ios EKEventStore事件开始日期时区,ios,swift,nstimezone,ekevent,ekeventstore,Ios,Swift,Nstimezone,Ekevent,Ekeventstore,我想从本地电话日历加载事件 代码如下: @IBAction func btnpressed() { let eventStore = EKEventStore() switch EKEventStore.authorizationStatusForEntityType(EKEntityTypeEvent) { case .Authorized: println("autorized") loadCalendarEv
@IBAction func btnpressed() {
let eventStore = EKEventStore()
switch EKEventStore.authorizationStatusForEntityType(EKEntityTypeEvent) {
case .Authorized:
println("autorized")
loadCalendarEvents(eventStore)
case .Denied:
println("Access denied")
case .NotDetermined:
println("not deter")
eventStore.requestAccessToEntityType(EKEntityTypeEvent, completion:
{[weak self] (granted: Bool, error: NSError!) -> Void in
if granted {
println("Access granted")
self!.loadCalendarEvents(eventStore)
} else {
println("Access denied")
}
})
default:
println("Case Default")
}
}
func getDate(string: String) -> NSDate {
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
dateFormatter.timeZone = NSTimeZone(abbreviation: "GMT+0:00")
return dateFormatter.dateFromString(string)!
}
func loadCalendarEvents(store: EKEventStore) {
let calendars = store.calendarsForEntityType(EKEntityTypeEvent) as! [EKCalendar]
let startDate = getDate("2015-08-26")
let endDate = getDate("2015-08-29")
let fetchCalendarEvents: NSPredicate = store.predicateForEventsWithStartDate(startDate, endDate: endDate, calendars: calendars)
if let eventList: [EKEvent] = store.eventsMatchingPredicate(fetchCalendarEvents) as? [EKEvent] {
for i in 0..<eventList.count {
var time = "\(eventList[i].startDate) - \(eventList[i].endDate)"
println("\(eventList[i].title) - \(eventList[i].location) - \(time)")
}
} else {
println("no events")
}
}
@IBAction func btnpressed(){
让eventStore=EKEventStore()
开关EKEventStore.authorizationStatusForEntityType(EKEntityTypeEvent){
案例.授权:
println(“自动化”)
loadCalendarEvents(事件存储)
案件.驳回:
println(“访问被拒绝”)
案例。未确定:
println(“不确定”)
eventStore.requestAccessToEntityType(eEntityTypeEvent,完成:
{[weak self](已授予:Bool,错误:NSError!)->中的Void
如果允许的话{
println(“授权访问”)
self!.loadCalendarEvents(eventStore)
}否则{
println(“访问被拒绝”)
}
})
违约:
println(“案例默认”)
}
}
func getDate(string:string)->NSDate{
var dateFormatter=NSDateFormatter()
dateFormatter.dateFormat=“yyyy-MM-dd”
dateFormatter.timeZone=NSTimeZone(缩写:“GMT+0:00”)
返回dateFormatter.dateFromString(字符串)!
}
func loadCalendarEvents(存储:EKEventStore){
让calendars=store.calendarsForEntityType(eEntityTypeEvent)作为![EKCalendar]
让startDate=getDate(“2015-08-26”)
让endDate=getDate(“2015-08-29”)
让fetchCalendarEvents:NSPredicate=store.predicateForEventsWithStartDate(startDate,endDate:endDate,calendars:calendars)
如果让eventList:[EKEvent]=将.eventsMatchingPredicate(fetchCalendarEvents)存储为?[EKEvent]{
因为我在0.我面临着同样的问题。你得到答案了吗,我也面临着这个问题
for i in 0..<eventList.count {
eventList[i].timeZone = NSTimeZone(abbreviation: "GMT+0:00")
var time = "\(eventList[i].startDate) - \(eventList[i].endDate)"
println("\(eventList[i].title) - \(eventList[i].location) - \(time)")
}