计算指定时间与当前的时间差
2016-03-04 22:06
477 查看
以下是实现方法:
/**
* 计算指定时间与当前的时间差
* @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;
}
以下是NSDate中的常用方法:
/**
- (id)initWithTimeInterval:(NSTimeInterval)secs sinceDate:(NSDate *)refDate;
初始化为以refDate为基准,然后过了secs秒的时间
- (id)initWithTimeIntervalSinceNow:(NSTimeInterval)secs;
初始化为以当前时间为基准,然后过了secs秒的时间
- (NSTimeInterval)timeIntervalSinceDate:(NSDate *)refDate;
以refDate为基准时间,返回实例保存的时间与refDate的时间间隔
- (NSTimeInterval)timeIntervalSinceNow;
以当前时间(Now)为基准时间,返回实例保存的时间与当前时间(Now)的时间间隔
- (NSTimeInterval)timeIntervalSince1970;
以1970/01/01 GMT为基准时间,返回实例保存的时间与1970/01/01 GMT的时间间隔
- (NSTimeInterval)timeIntervalSinceReferenceDate;
以2001/01/01 GMT为基准时间,返回实例保存的时间与2001/01/01 GMT的时间间隔
+ (NSTimeInterval)timeIntervalSinceReferenceDate;
*/
//秒
// - (NSTimeInterval)timeIntervalSinceNow;
// 以当前时间(Now)为基准时间,返回实例保存的时间与当前时间(Now)的时间间隔
/**
* 计算指定时间与当前的时间差
* @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;
}
以下是NSDate中的常用方法:
/**
- (id)initWithTimeInterval:(NSTimeInterval)secs sinceDate:(NSDate *)refDate;
初始化为以refDate为基准,然后过了secs秒的时间
- (id)initWithTimeIntervalSinceNow:(NSTimeInterval)secs;
初始化为以当前时间为基准,然后过了secs秒的时间
- (NSTimeInterval)timeIntervalSinceDate:(NSDate *)refDate;
以refDate为基准时间,返回实例保存的时间与refDate的时间间隔
- (NSTimeInterval)timeIntervalSinceNow;
以当前时间(Now)为基准时间,返回实例保存的时间与当前时间(Now)的时间间隔
- (NSTimeInterval)timeIntervalSince1970;
以1970/01/01 GMT为基准时间,返回实例保存的时间与1970/01/01 GMT的时间间隔
- (NSTimeInterval)timeIntervalSinceReferenceDate;
以2001/01/01 GMT为基准时间,返回实例保存的时间与2001/01/01 GMT的时间间隔
+ (NSTimeInterval)timeIntervalSinceReferenceDate;
*/
//秒
// - (NSTimeInterval)timeIntervalSinceNow;
// 以当前时间(Now)为基准时间,返回实例保存的时间与当前时间(Now)的时间间隔
相关文章推荐
- innodb_flush_log_at_trx_commit
- mysql索引总结
- Cannot proceed with delivery: an existing transporter instance is currently uploading this package
- Autoconf/Automake工具简介
- Ajax异步交互 [异步对象连接服务器]
- 自动查询友链(普通链接也行)机器人
- java----会动的方块
- mysql分表和表分区详解
- spring 配置文件中dbcp连接池,jdbc连接池 引入 配置文件properties,但是不能用$符号引用里面的变量问题
- 几个容器
- 机器学习之初生牛犊
- Kobuki(turtlebot底盘)通信方式
- java关键字之我见
- The mbstring extension is missing. Please check your PHP configuration.
- C、C++中的隐式转换和显示转换
- 关于easy- ui - tree的前篇 (1):
- Apache配置文件httpd.conf细说
- Ubuntu14.04 软件源
- bzoj 1018 堵塞的交通
- 有一张员工表,有员工名称,部门编号,工资收入,查询每个部门中收入前三的人员清单