昨天在今晚12点和今晚获得NSDate

时间:2014-02-27 08:34:00

标签: objective-c

让我们说它现在早上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(未来)所需的内容? 谢谢。

1 个答案:

答案 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];