我知道这个问题已经有几个问题了,但是无论我对代码做什么,我都会遇到同样的错误。我在模拟器中工作,我的位置设置为我的长/纬度。当我尝试将当前日期转换为零时,分,秒,我总是得到这样的结果:iOS设置日期为MM // DD/YY 00:00:00
2015-07-10 08:53:19.868 xxxxxxxxxxxxxxxxx[2184:7462272] Today at start of day:2015-07-10 04:00:00 +0000
这里是我的代码:
NSDate* today = [[NSDate alloc] init];
NSCalendar* currentCalendar = [NSCalendar currentCalendar];
NSDateComponents* dateComponents = [currentCalendar components:NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitYear fromDate:today];
NSInteger thisMonth = [dateComponents month];
NSInteger thisDay = [dateComponents day];
NSInteger thisYear = [dateComponents year];
NSDateComponents* dayComponents = [[NSDateComponents alloc] init];
[dayComponents setDay:thisDay];
[dayComponents setMonth:thisMonth];
[dayComponents setYear:thisYear];
NSDate* todayAtMidnight = [currentCalendar dateFromComponents:dayComponents];
NSLog(@"Today at start of day:%@", todayAtMidnight);
即使添加
[dayComponents setHour:0]; the hour still comes out as 4.
什么我做错了吗?
Upvoted大家,但把你的,因为我已经使用日期组件。感谢大家的帮助。 – PruitIgoe