// 返回发布时间dateWithString
- (NSString *)backReleaseTimeWithDateStr:(NSString *)dateWithString{
// 获取当前NSCalendar
NSCalendar *calendar = [NSCalendar currentCalendar];
// 设置日期格式
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
//入参 发布日期
NSDate *releaseTimer = [formatter dateFromString:dateWithString];
if ([calendar isDateInToday:releaseTimer]) { // 今天
//当前时间
NSDate *nowDate = [NSDate date];
// 获得日期之间的间隔
NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
NSDateComponents *components = [calendar components:unit fromDate:releaseTimer toDate:nowDate options:];
if (components.hour >= ) {
// formatter.dateFormat = @"今天 HH:mm";
// return [formatter stringFromDate:releaseTimer];
return [NSString stringWithFormat:@"%zd小时前",components.hour];
}else if(components.minute >= ){
return [NSString stringWithFormat:@"%zd分钟前",components.minute];
}else{
return @"刚刚";
}
}else if([calendar isDateInYesterday:releaseTimer]){ // 昨天
formatter.dateFormat = @"昨天 HH:mm";
return [formatter stringFromDate:releaseTimer];
}else { // 其他
formatter.dateFormat = @"MM-dd HH:mm";
return [formatter stringFromDate:releaseTimer];
}
return dateWithString;
}

根据日期计算发布时间段(NSCalendar)的更多相关文章

  1. iOS学习笔记37-时间和日期计算

    一.时间和日期计算 我们在应用开发中,时常须要和时间打交道,比方获取当前时间,获取两个时间点相隔的时间等等,在iOS开发中与时间相关的类有例如以下几个: 1. NSDate:表示一个绝对的时间点 2. ...

  2. Oracle查询某段日期内某个时间段的数据

    示例: 查询最近一周12:30分到13:00这段时间内的订单量: SELECT * FROM T_ORDER O WHERE O.CREATEDATETIME BETWEEN SYSDATE AND ...

  3. java日期比较,日期计算

    版权声明:本文为楼主原创文章,未经楼主允许不得转载,如要转载请注明来源. 都是常用的日期之间的比较方法,供以后参考. 热身:获取当前时间 SimpleDateFormat df = new Simpl ...

  4. CCF真题之日期计算

    201509-2 日期计算 问题描述 给定一个年份y和一个整数d,问这一年的第d天是几月几日? 注意闰年的2月有29天.满足下面条件之一的是闰年: 1) 年份是4的整数倍,而且不是100的整数倍: 2 ...

  5. SQL通过日期计算年龄

    首先建立一个表如下: ======================= BirthDay datetime not null Age 通过公式计算得出 ======================= 以 ...

  6. CalendarHelper日期计算工具,各种日期的获取和计算

    今天分享一个日期获取和计算的工具类,这个最初是用在项目中获取每周每月日期用的. <Attention> 之后逛帖子的时候发现了这个专门处理日期的库,java上也有,android上还为了避 ...

  7. php 日期 - 计算2个日期的差值

    /** * 日期-计算2个日期的差值 * @return int */ public function get_difference($date, $new_date) { $date = strto ...

  8. Javascript扩展String.prototype实现格式金额、格式时间、字符串连接、计算长度、是否包含、日期计算等功能

    <script src="Js/jquery-3.1.1.min.js"></script> <script type="text/java ...

  9. 日期计算、正则、sequence、索引、表连接、mybatis

    ************************** mybatis ******************************************* #{} 的参数替换是发生在 DBMS 中, ...

随机推荐

  1. RNN 的入门程序DEMO

    1.视频介绍 https://www.youtube.com/watch?v=cdLUzrjnlr4 2. https://github.com/llSourcell/recurrent_neural ...

  2. contentprovider基础

    程序启动后,只要再manifest当中注册上,就会执行PersonProvider()创建一个对象

  3. Idea操作与问题解决

    1,.properties文件汉字编码出错 主要是Editer的Encoding出错,可在File->settings->Editer->FileEncoding中修改为: 可参考: ...

  4. egret+git+阿里云code搭建团队开发

    准备: GIT客户端 廖雪峰老师GIT教程 GIT客户端安装完成后,打开Git Bash ,输入代码 ,设置git提交与获取的git账户信息 git config --global user.name ...

  5. javabean学习

    javabean是一种可重复使用且跨平台的软件组件.他可以分为:客户界面组件(UI,user interface)和没有用户界面,主要负责处理事务(如,数据处理.操作数据库等)地javabean ja ...

  6. html5--5-2 绘制直线

    html5--5-2 绘制直线 学习要点 如何在HTML5文档中添加canvas元素 canvas的属性 了解canvas坐标系 了解script元素 绘制一条直线(准确的说是线段) 什么是canva ...

  7. Jquery form表单提交

    起因 由于项目中原先提交from是通过JavaScript指定action,在submit提交的,使用的方式,也不是很标准,造成除了ie之外的浏览器都不能正常的提交数据,做web项目还是要考虑到浏览器 ...

  8. MongoDB 项目集成 mongo-driver 3.4.2

    第一次写技术!大白话讲讲.拿着用就可以了 本人是,NET的技术人员,会点JAVA所以很多不专业,见谅哈 刚刚开始使用mongo 整整搞了两天我才搞个半桶水,还是将就着用吧 随便把mongo在win的搭 ...

  9. Keras 可视化 model

    参考:https://keras.io/visualization/ error解决参考:http://blog.csdn.net/wangjian1204/article/details/50346 ...

  10. C++之构造函数、参数列表、析构函数

    参考自:https://blog.csdn.net/sunSHINEEzy/article/details/78122485 构造函数之默认构造函数(调用的构造函数不用传递参数) 两种实例化方式都是默 ...