iphone - 更改 NSDate 对象的年月日

标签 iphone ios

在我的 iPhone 应用程序中,我有一个事件的开始日期,例如:2013-05-17 15:00:12 +0000。我的问题是,如何将 2013-05-17 更改为今天的日期,但保持时间不变?

最佳答案

您需要收集日期组件并修改所需的属性。

//gather current calendar
NSCalendar *calendar = [NSCalendar currentCalendar];

//gather date components from date
NSDateComponents *dateComponents = [calendar components:(NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond) fromDate:[NSDate date]];

//set date components
[dateComponents setDay:17];
[dateComponents setMonth:5];
[dateComponents setYear:2013];

//save date relative from date
NSDate *date = [calendar dateFromComponents:dateComponents];

或者,您可以添加 1 天内的秒数来增加值:

NSDate *date = [NSDate dateWithTimeInterval:((60 * 60) * 24) sinceDate:[NSDate date]];

关于iphone - 更改 NSDate 对象的年月日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17084908/

相关文章:

iphone - 使用randNum无法访问NSArray中的对象

ios - Facebook SDK 和 iOS : Loop to run through nearby places

ios - 未调用 Afnetworking 委托(delegate)方法

iOS:未调用 captureOutput:didOutputSampleBuffer:fromConnection

javascript - SetFocus 不适用于 iPad

ios - GPUImageMovie 设置电影播放开始时间

ios - 在 IOS 8 的 UIActionSheet 中添加 UIPickerView 不起作用

ios - 在应用程序购买中,使用沙箱进行测试

ios - 解析失败

iphone - 如何解决内存泄漏