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

sam*_*sam 9 iphone objective-c

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

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

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

谢谢你的帮助...

ultranoob

phe*_*cks 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];
Run Code Online (Sandbox Code Playgroud)