gpt4 book ai didi

ios - 获取正确的日期并设置通知 ios

转载 作者:行者123 更新时间:2023-11-29 01:51:49 25 4
gpt4 key购买 nike

我正在尝试为每个周六和周日设置重复通知,但由于某种原因,日期显示错误。这是我的代码

NSCalendar *calendar = [NSCalendar currentCalendar];
unsigned unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitWeekday | NSCalendarUnitWeekOfYear | NSCalendarUnitWeekOfMonth |NSCalendarUnitWeekOfMonth;
NSDateComponents *comps = [calendar components:unitFlags fromDate:[NSDate date]];
NSDateComponents *dt = [[NSDateComponents alloc]init];
comps.hour = hour;
comps.minute = [[goal.reminderTimeInfo valueForKey:@"minutes"] intValue];
[dt setMonth:[comps month]];
[dt setYear:[comps year]];
[dt setWeekOfMonth:[comps weekOfMonth]];
comps.weekday = 1; //Sunday
[dt setWeekday:[comps weekday]];

NSDate *sundayDate = [calendar dateFromComponents:dt];

它应该会发出来

2015-07-05 19:00:00 +0000

但它的给予

2015-07-04 19:00:00 +0000

如果给本地通知一个特定的日期。例如星期天。它会在每个星期天触发吗?

最佳答案

您没有更改 dt 的小时和分钟,但更改了 comps。

NSCalendar *calendar = [NSCalendar currentCalendar];
unsigned unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitWeekday | NSCalendarUnitWeekOfYear | NSCalendarUnitWeekOfMonth |NSCalendarUnitWeekOfMonth;
NSDateComponents *comps = [calendar components:unitFlags fromDate:[NSDate date]];
NSDateComponents *dt = [[NSDateComponents alloc]init];

dt.hour = 19;
dt.minute = 00;
[dt setMonth:[comps month]];
[dt setYear:[comps year]];
[dt setWeekOfMonth:[comps weekOfMonth]];
[dt setWeekday:1];

NSDate *sundayDate = [calendar dateFromComponents:dt];

关于ios - 获取正确的日期并设置通知 ios,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31316338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com