/**
计算指定时间与当前的时间差
@param compareDate 某一指定时间
@return 多少(秒or分or天or月or年)+前 (比如,3天前、10分钟前)
*/
+(NSString ) compareCurrentTime:(NSDate) compareDate
//
{
NSTimeInterval timeInterval = [compareDate timeIntervalSinceNow];
timeInterval = -timeInterval;
long temp = 0;
NSString *result;
if (timeInterval < 60) {
result = [NSStringstringWithFormat:@"刚刚"];
}
else if((temp = timeInterval/60) <60){
result = [NSStringstringWithFormat:@"%d分前",temp];
}
else if((temp = temp/60) <24){
result = [NSStringstringWithFormat:@"%d小前",temp];
}
else if((temp = temp/24) <30){
result = [NSStringstringWithFormat:@"%d天前",temp];
}
else if((temp = temp/30) <12){
result = [NSStringstringWithFormat:@"%d月前",temp];
}
else{
temp = temp/12;
result = [NSStringstringWithFormat:@"%d年前",temp];
}
return result;
}
//获取系统是24小时制或者12小时制
NSString*formatStringForHours = [NSDateFormatterdateFormatFromTemplate:@"j" options:0 locale:[NSLocalecurrentLocale]];
NSRange containsA =[formatStringForHours rangeOfString:@"a"];
BOOL hasAMPM =containsA.location != NSNotFound;
//hasAMPM==TURE为12小时制,否则为24小时制
//获取当前时区的当前时间
- (
NSDate *)getNowDateFromatAnDate:(NSDate
*)anyDate
{
//设置源日期时区
NSTimeZone* sourceTimeZone = [NSTimeZone timeZoneWithAbbreviation:@”UTC”];//或GMT
//设置转换后的目标日期时区
NSTimeZone* destinationTimeZone = [NSTimeZone localTimeZone
];
//得到源日期与世界标准时间的偏移量
NSInteger sourceGMTOffset = [sourceTimeZone secondsFromGMTForDate
:anyDate];
//目标日期与本地时区的偏移量
NSInteger destinationGMTOffset = [destinationTimeZone secondsFromGMTForDate
:anyDate];
//得到时间偏移量的差值
NSTimeInterval
interval = destinationGMTOffset - sourceGMTOffset;
//转为现在时间
NSDate* destinationDateNow = [[NSDate alloc] initWithTimeInterval:interval sinceDate
:anyDate];
return destinationDateNow;
}