我正在尝试获取一个代表格林威治标准时间中午的日期,以获取经常性的本地通知。
我需要这个本地通知在使用该应用程序的任何人的确切时刻触发。
到目前为止,我正在尝试这个:
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *dateComps = [[NSDateComponents alloc] init];
[dateComps setHour:12];
[dateComps setMinute:0];
[dateComps setMonth:1];
[dateComps setDay:1];
[dateComps setYear:2010];
NSDate *localDate = [calendar dateFromComponents:dateComps];
NSTimeInterval timeZoneOffset = [[NSTimeZone defaultTimeZone] secondsFromGMT];
NSTimeInterval gmtTimeInterval = [localDate timeIntervalSinceReferenceDate] - timeZoneOffset;
NSDate *gmtDate = [NSDate dateWithTimeIntervalSinceReferenceDate:gmtTimeInterval];
localNotification.fireDate = gmtDate;
但是,这行不通。有什么建议么?
编辑:: 如果我没有在通知中指定时区,这会起作用吗:
localNotification.fireDate = [NSDate dateWithTimeIntervalSince1970:1284483600];