【发布时间】:2015-03-03 02:41:29
【问题描述】:
我正在尝试创建一些日期对象。
var gregorian:NSCalendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!;
var unit : NSCalendarUnit = (NSCalendarUnit.YearCalendarUnit|NSCalendarUnit.MonthCalendarUnit|NSCalendarUnit.DayCalendarUnit|NSCalendarUnit.HourCalendarUnit|NSCalendarUnit.MinuteCalendarUnit);
var interval:Double = Double(i)*60*60*24;
var tomorrow:NSDate = NSDate().dateByAddingTimeInterval(interval);
var comps:NSDateComponents = gregorian.components(unit, fromDate: tomorrow);
comps.setValue(17, forComponent: NSCalendarUnit.HourCalendarUnit);
var five_tomorrow : NSDate = gregorian.dateFromComponents(comps)!;
comps.setValue(19, forComponent: NSCalendarUnit.HourCalendarUnit);
var seven_tomorrow : NSDate = gregorian.dateFromComponents(comps)!;
comps.setValue(21, forComponent: NSCalendarUnit.HourCalendarUnit);
var nine_tomorrow : NSDate = gregorian.dateFromComponents(comps)!;
这似乎在我的 iOS8 手机上运行良好。但在我的 iOS7 设备上,我打印日期并为所有日期获取 2015-03-03 19:33:00 MST。关于为什么会发生这种情况的任何猜测?
编辑: 我要做的是获取明天下午 5:00、7:00、9:00 和 10:00 左右的日期以设置本地通知。我不太在乎分钟。
【问题讨论】:
-
我正在尝试设置 fireDate。晚上 7 点是我的目标,但我想早上 7 点也可以。
-
如果它解决了您的问题,我不应该回答两次,只要点赞即可
-
NSCalendar.currentCalendar() 方法对我来说是一个错误。 [_NSCopyOnWriteCalendarWrapper dateWithEra:year:month:day:hour:minute:second:nanosecond:]:无法识别的选择器发送到实例 0x1782273c0
标签: swift ios7 ios8 nscalendar