我正在尝试从组件中设置NSDate;小时是我需要实际设置的唯一内容,其余部分来自当前日期。这是我的代码:
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier: NSCalendarIdentifierGregorian];
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:[NSDate date]];
// put in date with start time
int month = [components month];
int day = [components day];
int year = [components year];
[components setHour: startTime];
[components setMinute: 0];
[components setSecond: 0];
NSDate *startDate = [gregorian dateFromComponents: components];
这是控制台的结果:
打印组件说明: 日历年:2015年 月:10 闰月:没有 日:3 小时:1730 分钟:0 第二:0
打印startDate的说明: 2015-10-25 15:57:12 +0000
请注意,月份和时间已从提供的更改。我的问题是为什么它会改变(供将来参考),我该怎么做才能解决这个问题?