我们在获取当前时间的时候一般获取的都是美国的时间,会比我们的北京时间快了4个小时,下面我们就说一下获取到准确时间的方法:
//获取当前时间
NSDate *now = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
NSDateComponents *dateComponent = [calendar components:unitFlags fromDate:now];
int year = (int)[dateComponent year];
int month = (int)[dateComponent month];
int day = (int)[dateComponent day];
int hour = (int)[dateComponent hour];
int minite = (int)[dateComponent minute];
int second = (int)[dateComponent second];
NSString *yearStr = [NSString stringWithFormat:@"%d",year];
NSString *monthStr = [NSString stringWithFormat:@"%d",month];
NSString *dayStr = [NSString stringWithFormat:@"%d",day];
NSString *hourStr = [NSString stringWithFormat:@"%d",hour];
NSString *miniteStr = [NSString stringWithFormat:@"%d",minite];
NSString *secondStr = [NSString stringWithFormat:@"%d",second];
NSLog(@"%@-%@-%@ %@:%@:%@",yearStr,monthStr,dayStr,hourStr,miniteStr,secondStr);
这样就好了,下面我们看一下运行之后的效果图:
可以看见我们Log打印出的是和我们想要的当前时间一致。。。