//dateString 格式:2015-12-17 08:08:08
/*
传入时间与现在时间 差距60秒内,输出@“刚刚”
差距1小时内,输出@“xx分钟前”
差距1-24小时内,输出@“xx小时前”
差距大于一天,输出@“xx天前”
差距大于30天,输出@“xx个月前”
差距 大于365天,输出@“完整日期”
*/
main.m
===========================================================
#import <Foundation/Foundation.h>
#import "Tool.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *string = @"2015-12-18 08:44:44";
NSString *string1 = [Tool handleDate:string];
NSLog(@"%@",string1);
}
=================================================================
Tool.h
#import <Foundation/Foundation.h>
@interface Tool : NSObject
+(NSString *)handleDate:(NSString *)dateString;
@end
===============================================================================
Tool.m
#import "Tool.h"
@implementation Tool
+(NSString *)handleDate:(NSString *)dateString
{
NSDateFormatter *dateFormatter = [NSDateFormatter new];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date1 = [dateFormatter dateFromString:dateString];
NSMutableString *string = [NSMutableString new];
if (date1 == nil)
{
return @"请按格式输入正确日期";
}
NSTimeInterval timeInterval = date1.timeIntervalSinceNow;
timeInterval *= -1;
if (timeInterval >=0 && timeInterval < 60
)
{
[string appendString:@"刚刚"];
}
if (timeInterval >= 60 && timeInterval < 3600)
{
int min = timeInterval / 60;
[string appendFormat:@"%d分钟前",min];
}
if (timeInterval >= 3600 && timeInterval<3600*24)
{
int hour = timeInterval / 3600;
[string appendFormat:@"%d小时前",hour];
}
if (timeInterval >= 86400 && timeInterval < 86400*30)
{
int day = timeInterval / (3600*24);
[string appendFormat:@"%d日前",day];
}
else if (timeInterval >= 3600*24*30 && timeInterval < 3600*24*30*12)
{
int month =timeInterval / (3600*24*30);
[string appendFormat:@"%d个月前",month];
}
else if (timeInterval > 3600*24*30*12)
{
string = [NSMutableString stringWithString:dateString];
}
else
{
NSString *string2 = @"请按格式输入正确日期";
[string appendString:string2];
}
return string;
}
@end
Objective-C_语言 练习题2
最新推荐文章于 2023-03-23 10:41:12 发布