iOS 计算时间差

/**
 * 计算指定时间与当前的时间差
 * @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;
}
时间: 2024-12-29 06:40:44

iOS 计算时间差的相关文章

iOS开发——计算时间差,计算日期查,计算年龄。

我开发的很多项目中都有用到计算时间差的地方,这里把我封装的一个小方法分享给需要的朋友,当然主要是初学者们,哈哈. 主要使用了NSDate.NSCalender.NSComponents三个类,这三个类里面的方法很多,大家都可以浏览一下,特别需要注意方法后面的版本限制,注意使用不要出现版本适配问题.废话不多,直接Show you the code: 首先是.h 1 /** 2 * 计算时间差 3 * 4 * @param startDate 开始时间 5 * @param endDate 结束时间

asp.net中C#中计算时间差代码

我用的最简单的办法是 代码如下 复制代码 DateTime dtone = Convert.ToDateTime("2007-1-1 05:32:22");DateTime dtwo = Convert.ToDateTime("2007-1-1 04:20:15");TimeSpan span = dtone.Subtract(dtwo);Response.Write(span.Days + "天" + span.Hours + "小时

【转载】c/c++在windows下获取时间和计算时间差的几种方法总结

一.标准C和C++都可用 1.获取时间用time_t time( time_t * timer ),计算时间差使用double difftime( time_t timer1, time_t timer0 ). 精确到秒. 测试程序如下: #include <time.h> #include <stdio.h> int main() { time_t start ,end ; double cost; time(&start); sleep(1); time(&en

登录超时自动退出,计算时间差-b

// 此方法适用于所有被创建过的controller,且当前controller生命周期存在,如有错误的地方望大神斧正 //  说一下我们的需求和实现原理,需求:在点击home键退出但没有滑飞它,5分钟之后需要重新登录(其实和平安一账通的登录很像) :实现原理:添加观察者,不用我们手动发送通知,系统会自动发送通知,计算时间差,然后就可以啦?? //  贴代码图片 屏幕快照 2016-09-22 下午2.54.31.png //  我是控制的300s,就是5分钟,超过就弹个框,点击后退出 屏幕快照

计算时间差

一.标准C和C++都可用 1.获取时间用time_t time( time_t * timer ),计算时间差使用double difftime( time_t timer1, time_t timer0 ). 精确到秒. 测试程序如下: [c-sharp] view plain copy #include <time.h> #include <stdio.h> int main() { time_t start ,end ; double cost; time(&star

mysql 计算时间差

ROUND(time_to_sec(timediff(m.StartTime, now()))/60) 解析: 比较m.StartTime字段的时间与now()现在的时间差. timediff : 计算时间差 time_to_sec:转化为秒 ROUND :取整

linux获取时间函数及计算时间差

参考:   http://www.cnblogs.com/krythur/archive/2013/02/25/2932647.html 第一章  获取时间函数 1. char * asctime(const struct tm * timeptr); 函数说明 asctime()将参数timeptr所指的tm结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回.此函数已经由时区转换成当地时间,字符串格式为:"Wed Jun 30 21:49:08 1993\n&quo

linux内核计算时间差以及jiffies溢出

jiffies是每个时钟中断,都会加1,这就导致一个问题,无论jiffies(一般来说是unsigned long类型)多少个字节,总有溢出的时候. 更极端的时候,当期jiffies是0xffffffff,下一个时刻就是0x0 这样,当你计算延时/时差 的时候0x0 - 0xffffffff结果是 0xffffffff,实际上只是过了一个时钟周期,这种差别是巨大的. 那么如何防止这种情况发生呢? 很简单 假设t1是之前记录的jiffies,t2是当年的jiffies,你想要计算两者差值: (lo

sql server 计算时间差的一部分函数【转】

在做Sql Server开发的时候有时需要获取表中今天.昨天.本周.上周.本月.上月等数据,这时候就需要使用DATEDIFF()函数及GetDate()函数了.DATEDIFF ( datepart , startdate , enddate )释义:计算时间差datepare值:year | quarter | month | week | day | hour | minute | second | millisecondstartdate:开始日期enddate :结束日期GetDate(