22
A
回答
57
在下面,yourDate表示您的输入NSDate; nextDate代表第二天。
// start by retrieving day, weekday, month and year components for yourDate
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *todayComponents = [gregorian components:(NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit) fromDate:yourDate];
NSInteger theDay = [todayComponents day];
NSInteger theMonth = [todayComponents month];
NSInteger theYear = [todayComponents year];
// now build a NSDate object for yourDate using these components
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setDay:theDay];
[components setMonth:theMonth];
[components setYear:theYear];
NSDate *thisDate = [gregorian dateFromComponents:components];
[components release];
// now build a NSDate object for the next day
NSDateComponents *offsetComponents = [[NSDateComponents alloc] init];
[offsetComponents setDay:1];
NSDate *nextDate = [gregorian dateByAddingComponents:offsetComponents toDate:thisDate options:0];
[offsetComponents release];
[gregorian release];
2
//添加以下代码到init方法viewDidLoad中
[[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"Date"];
//添加该代码,你想获取一个或下一个日期
NSDate *tomorrow = [[NSUserDefaults standardUserDefaults] valueForKey:@"Date"];
NSTimeInterval secondsPerDay = 24 * 60 * 60;
NSDate *date = [tomorrow addTimeInterval:secondsPerDay]; //Change NSDate *date = [tomorrow addTimeInterval:-secondsPerDay]; for yesterday
tomorrow = date;
[self setDate:tomorrow];
dateTextField.text = [self getDate];
[[NSUserDefaults standardUserDefaults] setObject:tomorrow forKey:@"Date"];
28
这个怎么样的方法呢?
http://www.drobnik.com/touch/2009/05/adding-days-to-nsdate/
NSDate *now = [NSDate date];
int daysToAdd = 50; // or 60 :-)
// set up date components
NSDateComponents *components = [[[NSDateComponents alloc] init] autorelease];
[components setDay:daysToAdd];
// create a calendar
NSCalendar *gregorian = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDate *newDate2 = [gregorian dateByAddingComponents:components toDate:now options:0];
NSLog(@"Clean: %@", newDate2);
3
我想这种方法工作得很好,对我来说。
NSString *zajtra = [[NSDate date] dateByAddingTimeInterval:86400];
34
NSDate *tomorrow = [NSDate dateWithTimeInterval:(24*60*60) sinceDate:[NSDate date]];
更最简单的方法..
相关问题
- 1. 从NSDate值获取日期零件
- 2. Swift - 获取下一个日期
- 3. 获取下一个有效日期
- 4. 如何使用下一种格式获取日期?
- 5. 如何获取下个星期日的日期?
- 6. 如何获取下一个指定的某一天的日期
- 7. 两个日期列,一个日期。我如何获取数据?
- 8. 使用Doctrine获取下一个生日
- 9. 获得下一个日期
- 10. 如何从NSDate中获取日组件?
- 11. 使用NSDate获取每年7月份的日期
- 12. 如何获取下一个和上一个星期的日期在Android
- 13. 在给定日期(bash)后获取下一个星期日
- 14. 如何与下一个/上工作,点击获取下一个日期序列
- 15. Objective-C NSDate - 如何从不同时区获取当前日期
- 16. 如何获取自NSDate参考日期以来的天数?
- 17. 如何从列中获取下一个月的日期
- 18. 如何获取日期的NSDate与格式为yyyy/MM/DD使用nsdateformatter
- 19. 如何使用mysql获取本月最后一个星期日的日期?
- 20. 获取上一个/下一个日期使用SharedPreferences从上一活动获取日期后按下按钮上的日期android
- 21. 如何获取日期,该日期是任何前一日期到下一日期的7天的总和?
- 22. 比较NSDate [NSDate日期]
- 23. Swift:试图获取NSDate将来的日期时获取EXC_BAD_INSTRUCTION
- 24. 如何区分日/夜与[NSDate日期]?
- 25. 如何使用sqldf获取日期?
- 26. 如何使用JavaScript获取UTC日期?
- 27. 从NSDate获取一致的日期格式?
- 28. NSDate,比较两个日期
- 29. mySQL获取下一个和前一个日期到当前行的日期
- 30. C#获取下一个第N个星期五日期从今天的日期
如果你觉得它回答您的问题,您应该选中以下正确的答案之一。 – 2011-07-07 17:59:55