让我们说它现在早上10点在我的位置。
我需要得到2 NSDates
,其中一个是昨天(或今天)晚上12:01,另一个是今天晚上11:59(抱歉我对AM和PM有点困惑,我不知道#39; t希望它弄乱这个问题。)
我在这里看到过这样的事情:
NSDate *today = [NSDate date];
//intervals taken from Google
NSDate *yesterday = [today dateByAddingTimeInterval: -86400.0];
但是这个数字是一个常数。 我将如何从现在的日期中减去今天晚上12:01(过去)和今天晚上11:59(未来)所需的内容? 谢谢。
答案 0 :(得分:1)
您可以根据需要编写自己的逻辑
您将使用
获取NSDate组件 NSDate *date = [NSDate date];
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:date];
NSInteger day = [components day];
NSInteger month = [components month];
NSInteger year = [components year];
NSInteger hours = [components hour];
NSInteger mins = [components minute];
NSInteger secs = [components second];
现在你可以改变小时和分钟
hours -= 10;
mins -= 120
现在再次形成日期对象
[date setHour:hours];
[date setMinute:mins];