我从UIDatePicker
获取时间,从特定日期获取另一个日期(NSDate)
(名称为myDate)
我想将UIDatePicker
的(仅)时间添加到中(在myDate的时间的位置)myDate。
我的目标是在适当的时间发射NSLocalNotification:
我关注这个问题,但它不能解决我的问题。
我该怎么做?
您链接到的问题是一个很好的指南。您应该从日期选择器中获取时间的日期组件(这是您要添加的时间量,以小时、分钟和秒为单位),然后使用日历将这些日期组件添加到当前日期。
试试这个希望能帮助你
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];
嗨修改此代码希望您能得到解决方案。
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);
如果你有任何疑问,请告诉我?