在我的 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/