iOS NSDate的基本使用,获取时间戳
2016-05-26 15:10
597 查看
// 这里进行一次分析
1.首先根据传进来的formatString做一个格式对象出来,nil的话就默认为yyyy-MM-dd
HH:mm:ss
2.NSTimerInterval timeInterval = [当前时间 timeIntervalSinceDate:发布时间];
3.当前时间获取
NSDate *当前时间 = [NSDate date] //!<这里获取的是当前时间对象,格林尼治的
NSString *当前时间字符串 = [格式对象 stringFromDate:] //!<先转换成字符串进行一次中间变换
NSDate *最终的当前时间对象 = [格式对象 dateFromString:当前时间字符串];//!<这个时候字符串就变成了当地时区的时间对象了,完美!!
4.获取传进来时间的对象 发布时间类似于微博发布的一个时间点 //!<根据指定的timeIntervale来获取对象
NSDate *发布时间 = [NSDate dateWithTimeIntervalSince1970:(这里把传入的字符串转换成浮点型)]
5.算出来之后就是一个NSTimeInterval,然后根据判断获取到具体的字符串返回
代码如下:
+(NSString *)internalFromCreatTime:(NSString *)creatTimeString formatString:(NSString *)formatString
{
//创建对应的格式
NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:formatString?formatString:@"yyyy-MM-dd HH:mm:ss"];
//生成对应的格式日期对象
NSDate *currentDate=[dateFormatter dateFromString:[dateFormatter stringFromDate:[NSDate new]]];
NSDate *nd = [NSDate dateWithTimeIntervalSince1970:creatTimeString.floatValue];
//计算日期间隔
NSTimeInterval timeInterval= [currentDate timeIntervalSinceDate:nd];
float days = timeInterval / (3600.0*24);
float hours=timeInterval /3600.0;
float minutes = timeInterval / 60;
if (days >7)
{
return [dateFormatter stringFromDate:nd];
}
else if (days>=1)
{
return [NSString stringWithFormat:@"%d天前",(int)days];
}
else if (hours>=1)
{
return [NSString stringWithFormat:@"%d小时前",(int)hours];
}
else
{
return [NSString stringWithFormat:@"%d分钟前",(int)minutes];
}
}
1.首先根据传进来的formatString做一个格式对象出来,nil的话就默认为yyyy-MM-dd
HH:mm:ss
2.NSTimerInterval timeInterval = [当前时间 timeIntervalSinceDate:发布时间];
3.当前时间获取
NSDate *当前时间 = [NSDate date] //!<这里获取的是当前时间对象,格林尼治的
NSString *当前时间字符串 = [格式对象 stringFromDate:] //!<先转换成字符串进行一次中间变换
NSDate *最终的当前时间对象 = [格式对象 dateFromString:当前时间字符串];//!<这个时候字符串就变成了当地时区的时间对象了,完美!!
4.获取传进来时间的对象 发布时间类似于微博发布的一个时间点 //!<根据指定的timeIntervale来获取对象
NSDate *发布时间 = [NSDate dateWithTimeIntervalSince1970:(这里把传入的字符串转换成浮点型)]
5.算出来之后就是一个NSTimeInterval,然后根据判断获取到具体的字符串返回
代码如下:
+(NSString *)internalFromCreatTime:(NSString *)creatTimeString formatString:(NSString *)formatString
{
//创建对应的格式
NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:formatString?formatString:@"yyyy-MM-dd HH:mm:ss"];
//生成对应的格式日期对象
NSDate *currentDate=[dateFormatter dateFromString:[dateFormatter stringFromDate:[NSDate new]]];
NSDate *nd = [NSDate dateWithTimeIntervalSince1970:creatTimeString.floatValue];
//计算日期间隔
NSTimeInterval timeInterval= [currentDate timeIntervalSinceDate:nd];
float days = timeInterval / (3600.0*24);
float hours=timeInterval /3600.0;
float minutes = timeInterval / 60;
if (days >7)
{
return [dateFormatter stringFromDate:nd];
}
else if (days>=1)
{
return [NSString stringWithFormat:@"%d天前",(int)days];
}
else if (hours>=1)
{
return [NSString stringWithFormat:@"%d小时前",(int)hours];
}
else
{
return [NSString stringWithFormat:@"%d分钟前",(int)minutes];
}
}
相关文章推荐
- iOS开发之遍历Model类的属性并完善使用Runtime给Model类赋值
- ios 拨打电话
- iOS 各种传值方式
- ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结
- ios 开源的电子书阅读器项目
- opencv-ios开发笔记4 梯度方向直方图hog行人目标图像监测
- iOS开发之正则表达式
- iOS开发之类似安卓的Toast短暂提示框
- iOS图片模糊效果与阴影效果
- iOS 项目中.pch 预编译文件创建
- iOS开发之提取本地通讯录数据
- iOS强制屏幕旋转
- iOS开发中获取文本的宽高的方式
- iOS学习之——自定义转场
- iOS开发之JS与OC的混合开发
- iOS开发之NSURL
- iOS开发之地图定位
- iOS学习之——Container View Controller
- iOS如何获得年月日时分秒具体的值
- iOS多线程的初步研究(十)-- dispatch同步