【问题标题】:using date picker time with manual date entry使用日期选择器时间和手动日期输入
【发布时间】:2014-02-02 19:30:44
【问题描述】:

我需要为星期日创建一个本地通知(然后每周重复一次),但用户可以从日期选择器中设置时间.. 有人可以检查出什么问题并说出最好的方法吗?

提前致谢。

-(IBAction) setAlarm:(id)sender {

NSDate *pickerDate = [dateTimePickerSet1 date];

NSCalendar *gregCalendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComponent = [gregCalendar components:NSYearCalendarUnit  | NSMonthCalendarUnit| NSWeekCalendarUnit | NSWeekdayCalendarUnit fromDate:[NSDate date]];
NSDateComponents *timeComponents = [gregCalendar components:( NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:pickerDate];

NSDateComponents *newComponents = [[NSDateComponents alloc]init];


[newComponents setWeekday:1];// Sunday   <<< i need help for that part i think!
[newComponents setMonth:[dateComponent month]];
[newComponents setYear:[dateComponent year]];
[newComponents setHour:[timeComponents hour]];
[newComponents setMinute:[timeComponents minute]];

NSDate *fireDate = [gregCalendar dateFromComponents:newComponents];

【问题讨论】:

    标签: ios datepicker localnotification


    【解决方案1】:

    我需要在一段时间前执行此操作并找到此答案。 iPhone SDK, how to get NSDate object of coming friday's 20:00?

    注意他是如何计算星期几的。它比人们想象的要复杂一些。但它对我有用。

    【讨论】:

    • 谢谢@John Green,但是是的,这对我来说有点复杂。实际上这种方法对我有用:[dateComponent setWeekday:1]; [日期组件设置小时:]; [日期组件设置分钟:];我只需要从日期选择器中选择“小时”和“分钟”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-01
    • 2012-09-11
    • 1970-01-01
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    相关资源
    最近更新 更多