现在的位置: 首页 > 综合 > 正文

时间差和时间格式化

2017年10月20日 ⁄ 综合 ⁄ 共 1782字 ⁄ 字号 评论关闭

NSTimeInterval本身是个秒级别的double类型数值,小数点后面即毫秒数


时间差

 - (NSString *)intervalSinceNow: (NSString *) theDate 

{

NSDateFormatter *date=[[NSDateFormatter alloc] init];

[date setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

NSDate *d=[date dateFromString:theDate];

NSTimeInterval late=[d timeIntervalSince1970]*1;



NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0];

NSTimeInterval now=[dat timeIntervalSince1970]*1;

NSString *timeString=@"";

NSTimeInterval cha=now-late;

if (cha/3600<1) {

timeString = [NSString stringWithFormat:@"%f", cha/60];

timeString = [timeString substringToIndex:timeString.length-7];

timeString=[NSString stringWithFormat:@"%@分钟前", timeString];

}

if (cha/3600>1&&cha/86400<1) {

timeString = [NSString stringWithFormat:@"%f", cha/3600];

timeString = [timeString substringToIndex:timeString.length-7];

timeString=[NSString stringWithFormat:@"%@小时前", timeString];

}

if (cha/86400>1)

{

timeString = [NSString stringWithFormat:@"%f", cha/86400];

timeString = [timeString substringToIndex:timeString.length-7];

timeString=[NSString stringWithFormat:@"%@天前", timeString];

}

[date release];

return timeString;

}



 

 +(BOOL)intervalSinceNow:(NSDate *)beforeData{

    //NSData *beafte=[[NSData alloc] initWithData:beforeData];

    NSTimeInterval before = [beforeData timeIntervalSince1970]*1;

    NSDate *datTime = [NSDate date];

    NSTimeInterval nowTime = [dat timeIntervalSince1970]*1;

    NSTimeInterval cha = nowTime - before;

    if(cha/3600 < 1){

        return YES;

   }

    return NO;

}

 

时间 格式化用

在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理。

例如:


//实例化一个NSDateFormatter对象


NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];


//设定时间格式,这里可以设置成自己需要的格式


[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];


//用[NSDate date]可以获取系统当前时间


NSString *currentDateStr = [dateFormatter stringFromDate:[NSDate date]];


//输出格式为:2010-10-27 10:22:13


NSLog(@”%@”,currentDateStr);


//alloc后对不使用的对象别忘了release


[dateFormatter release];

抱歉!评论已关闭.