在某个时间创建表示“今天”的NSDate对象

时间:2010-03-09 17:49:16

标签: iphone objective-c

我对NSDate的复杂性有点不知所措,或者我根本不理解它的概念:)

我唯一想做的就是创建一个NSDate实例,代表今天的日期和固定时间20.00h,分别是晚上8点。

这不像创建一个持有当前时间的实例那么困难,之后要么减去oder,将必要的差异添加到晚上8点,可以吗?

感谢您的帮助......

ultranoob

1 个答案:

答案 0 :(得分:11)

使用NSCalendar:

NSCalendar* myCalendar = [NSCalendar currentCalendar];
NSDateComponents* components = [myCalendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit 
fromDate:[NSDate date]];
[components setHour: 20];
[components setMinute: 0];
[components setSecond: 0];
NSDate *myDate = [myCalendar dateFromComponents:components];