作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不明白我在获取两个日期的正确差异时错在哪里,
-(void)updateTimeLabel{
NSString *serverResponseTimeString = @"02-08-2014 05:26:32";
NSString *systemDateString = @"02-08-2014 05:31:46";
NSDate *serverTime = [self dateFromWebStringResponse:serverResponseTimeString];
NSDate *systemDate = [self dateFromWebStringResponse:systemDateString];
NSLog(@"serverResponseTime %@", serverResponseTimeString);
NSLog(@"serverTime %@", serverTime);
NSLog(@"systemDate %@", systemDate);
NSLog(@"difference of time %d", [self differenceOfTimeInterval:systemDate toDate:serverTime]);
}
-(NSDate *)dateFromWebStringResponse:(NSString *)dateInString{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"mm-dd-yyyy hh:mm:ss"];
NSDate *theDate = [dateFormatter dateFromString:dateInString];
return theDate;
}
-(NSInteger)differenceOfTimeInterval:(NSDate *)fromDate toDate:(NSDate *)toDate{
NSTimeInterval differenceOfIntervals = [toDate timeIntervalSinceDate: fromDate];
NSInteger minutes = floor(differenceOfIntervals/60);
return minutes;
}
输出:-
2014-02-08 17:58:57.185 iOSPractise[16770:907] serverResponseTime 02-08-2014 05:26:32
2014-02-08 17:58:57.186 iOSPractise[16770:907] serverTime 2014-01-07 23:56:32 +0000
2014-02-08 17:58:57.187 iOSPractise[16770:907] systemDate 2014-01-07 22:00:46 +0000
2014-02-08 17:58:57.188 iOSPractise[16770:907] difference of time 115
我预计会有 5 分钟的差异。
最佳答案
您的日期格式有误。月份的格式是“MM”(不是“mm”,它是分钟),24 小时格式是“HH”(“hh”代表 12 小时制的上午/下午):
[dateFormatter setDateFormat:@"MM-dd-yyyy HH:mm:ss"];
此外,正如@Flexicoder 提到的,您应该指定一个独立于用户的区域设置:
[dateFormatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"]];
(参见 http://www.flexicoder.com/blog/index.php/2013/10/ios-24-hour-date-format/ 或 What is the best way to deal with the NSDateFormatter locale "feechur"?。)
关于ios - 弄错时差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21645955/
我是一名优秀的程序员,十分优秀!