代码如下:
- (NSString*)dateDisPlay:(double)inServerTime
{
NSDateFormatter *dataFormat = [[NSDateFormatter alloc] init];
[dataFormat setDateFormat:@"MM-dd HH:mm"];
NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init];
[timeFormat setDateFormat:@"HH:mm"];
NSString* displayTime = nil;
NSDate *date = [NSDate date];
NSTimeInterval intervalSince1970 = [date timeIntervalSince1970];
if (inServerTime >intervalSince1970) {
NSDate *dateServer = [NSDate dateWithTimeIntervalSince1970:inServerTime];
displayTime = [dataFormat stringFromDate:dateServer];
}else
{
NSTimeInterval intervalSinceServerTime = intervalSince1970 - inServerTime;
if (intervalSinceServerTime <3600) {//差值小于1H
displayTime = [NSString stringWithFormat:@"%d分钟前",(int) intervalSinceServerTime/60];
}else
{
NSDate *dateServer = [NSDate dateWithTimeIntervalSince1970:inServerTime];
if (intervalSinceServerTime<24*3600)
{
NSTimeZone*zone = [NSTimeZone systemTimeZone];
NSInteger interval = [zone secondsFromGMTForDate:date];
NSTimeInterval nowSince1970 = intervalSince1970 - ((long)(intervalSince1970/(24*3600)))*24*3600+interval;
NSTimeInterval serverSinve1970 = inServerTime - ((long)(intervalSince1970/(24*3600)))*24*3600+interval;
if (nowSince1970*serverSinve1970>0) {
displayTime = [timeFormat stringFromDate:dateServer];
displayTime = [NSString stringWithFormat:@"今天 %@",displayTime];
}else
{
displayTime = [dataFormat stringFromDate:dateServer];
}
}else
{
displayTime = [dataFormat stringFromDate:dateServer];
}
}
}
return displayTime;
}