我从UIDatePicker
获得时间,从特定日期(名称 myDate )获得另一个日期 (NSDate)
。
我想将UIDatePicker
的(仅)时间添加到(代替myDate'时间) myDate 。
我的目标是在适当的时候解雇NSLocalNotification:
我关注This Question,但这并不能解决我的问题。
我该怎么做?
答案 0 :(得分:1)
您链接的问题是一个很好的指南。您应该从日期选择器获取时间的日期组件(这是您要添加的小时,分钟和秒的时间量),然后使用日历将这些日期组件添加到当前日期。
答案 1 :(得分:0)
NSCalendar *currentCalender = [NSCalendar autoupdatingCurrentCalendar];
NSDate *timeDate = [self.datePicker date];
NSDateComponents *timeComponents = [currentCalender components:(NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate:timeDate]
NSDateComponents *dateComponents = [currentCalender components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate: myDate];
NSDateComponents *setDate = [[NSDateComponents alloc] init];
[setDate setDay:dateComponents.day];
[setDate setMonth:dateComponents.month];
[setDate setYear:dateComponents.year];
[setDate setHour:timeComponents.hour];
[setDate setMinute:timeComponents.minute];
[setDate setSecond:timeComponents.second];
NSDate *date = [currentCalender dateFromComponents:setDate];
答案 2 :(得分:0)
嗨修改此代码希望您能得到解决方案。
NSDate *date = d;
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateStyle:NSDateFormatterShortStyle]; // if you want to show the date to the user
[df setTimeStyle:NSDateFormatterShortStyle]; // if you want to show the date to the user
[df setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; // if you want to use the date for your model
NSTimeZone* destinationTimeZone = [NSTimeZone systemTimeZone];
[df setTimeZone:destinationTimeZone];
NSString *dateString = [df stringFromDate:date];
NSLog(@"%@", dateString);
如果您有任何疑问,请告诉我?