您的位置:首页 > 编程语言 > C语言/C++

OC语言——传入时间与现在时间 差距 60 秒以内,输出@"刚刚" 以此类推

2015-12-17 20:21 381 查看
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]; //NSDateFormatter 默认转换为本地区时间

dateFormatter.timeZone = [NSTimeZone systemTimeZone];  //设置时区(默认时区)

//加一句就不会减8个小时
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];

//设置时间输出格式
//[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

//这里得到的时间是GMT时间
NSDate *date8 = [dateFormatter dateFromString:dateString];
NSLog(@"输入时间 = %@",date8);

NSTimeInterval timeInterval = date8.timeIntervalSinceNow-28800;
NSLog(@"距今己经%.f秒了",-timeInterval);

if (-timeInterval>1&&-timeInterval<=60) {
NSLog(@"刚刚");

} else if(-timeInterval>60&&-timeInterval<=3600){
int minutes = (-timeInterval/60);
NSLog(@"%d分钟前",minutes);
} else if(-timeInterval>3600&&-timeInterval<=86400){
int minutes = (-timeInterval/3600);
NSLog(@"%d小时前",minutes);
} else if(-timeInterval>86400&&-timeInterval<=2592000){
int minutes = (-timeInterval/86400);
NSLog(@"%d天前",minutes);
} else if(-timeInterval>2592000&&-timeInterval<=31104000){
int minutes = (-timeInterval/2592000);
NSLog(@"%d个月前",minutes);
}else if(-timeInterval>31104000){
NSLog(@"11%@",dateString);
}
return 0;

}

@end


main.m

#import <Foundation/Foundation.h>
#import "Tool.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {

//        char dateString[100];
//        NSLog(@"请输入日期:(格式:1970-01-01/08:00:00)");
//        scanf("%s",dateString);
//        NSString * str = [NSString stringWithUTF8String:dateString];
//        NSLog(@"字符串str=%@",str);
//
//
//
//
//        NSString *str1 = [str stringByReplacingOccurrencesOfString:@"/" withString:@" "];
//
//
//        [Tool handleDate:str1];
//

char calendar[1000];
printf("输入时间(yyyy-MM-dd HH:mm:ss):\n");
gets(calendar);
NSString *dateString = [NSString stringWithUTF8String:calendar];
[Tool handleDate:dateString];

}
return 0;
}


运行结果

输入时间(yyyy-MM-dd HH:mm:ss):
warning: this program uses gets(), which is unsafe.
2015-12-17 20:13:00
2015-12-17 20:18:39.562 OC_ZY_07[3573:82830]输入时间 = 2015-12-17 20:13:00 +0000
2015-12-17 20:18:39.563 OC_ZY_07[3573:82830]距今己经340秒了
2015-12-17 20:18:39.563 OC_ZY_07[3573:82830] 5分钟前
Program ended with exit code: 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: