根据日期计算发布时间段(NSCalendar)
// 返回发布时间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)的更多相关文章
- iOS学习笔记37-时间和日期计算
一.时间和日期计算 我们在应用开发中,时常须要和时间打交道,比方获取当前时间,获取两个时间点相隔的时间等等,在iOS开发中与时间相关的类有例如以下几个: 1. NSDate:表示一个绝对的时间点 2. ...
- Oracle查询某段日期内某个时间段的数据
示例: 查询最近一周12:30分到13:00这段时间内的订单量: SELECT * FROM T_ORDER O WHERE O.CREATEDATETIME BETWEEN SYSDATE AND ...
- java日期比较,日期计算
版权声明:本文为楼主原创文章,未经楼主允许不得转载,如要转载请注明来源. 都是常用的日期之间的比较方法,供以后参考. 热身:获取当前时间 SimpleDateFormat df = new Simpl ...
- CCF真题之日期计算
201509-2 日期计算 问题描述 给定一个年份y和一个整数d,问这一年的第d天是几月几日? 注意闰年的2月有29天.满足下面条件之一的是闰年: 1) 年份是4的整数倍,而且不是100的整数倍: 2 ...
- SQL通过日期计算年龄
首先建立一个表如下: ======================= BirthDay datetime not null Age 通过公式计算得出 ======================= 以 ...
- CalendarHelper日期计算工具,各种日期的获取和计算
今天分享一个日期获取和计算的工具类,这个最初是用在项目中获取每周每月日期用的. <Attention> 之后逛帖子的时候发现了这个专门处理日期的库,java上也有,android上还为了避 ...
- php 日期 - 计算2个日期的差值
/** * 日期-计算2个日期的差值 * @return int */ public function get_difference($date, $new_date) { $date = strto ...
- Javascript扩展String.prototype实现格式金额、格式时间、字符串连接、计算长度、是否包含、日期计算等功能
<script src="Js/jquery-3.1.1.min.js"></script> <script type="text/java ...
- 日期计算、正则、sequence、索引、表连接、mybatis
************************** mybatis ******************************************* #{} 的参数替换是发生在 DBMS 中, ...
随机推荐
- 【bzoj2286】[Sdoi2011]消耗战
虚树入门题: #include<cstdio> #include<cstring> #include<algorithm> #include<ctime> ...
- 快速上手Ubuntu之安装篇——安装win7,Ubuntu16.04双系统【转】
本文转载自:http://blog.csdn.net/qq_28205153/article/details/52203512 Linux可以说是开发者的系统,对于开发者来说,Linux发行版不仅为我 ...
- Java中锁的内存语义
我们都知道,Java中的锁可以让临界区互斥执行.锁是Java并发编程中最重要的同步机制,锁除了可以让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息.下面是锁的释放-获取的代码: C ...
- 简单实现php文件管理
如何能够利用PHP语言来进行空间中的文件管理,为我们带来良好的空间布局呢?今天我们就为大家介绍一种简便的PHP文件管理的实现方法. PHP预定义变量数组种类概览 PHP uploaded_files函 ...
- 万亿级日志与行为数据存储查询技术剖析(续)——Tindex是改造的lucene和druid
五.Tindex 数果智能根据开源的方案自研了一套数据存储的解决方案,该方案的索引层通过改造Lucene实现,数据查询和索引写入框架通过扩展Druid实现.既保证了数据的实时性和指标自由定义的问题,又 ...
- MAC 地址解析
windows cmd 命令行通过 ipconfig /all:查看本地的 ip 地址以及 mac地址: MAC 地址的前三个字节代表厂商: 00:50:56/00:0c:29:vmware 公司 c ...
- 并不对劲的BJOI2019
一些感想 现实并非游戏,并不支持反复刷关 猎人和防御工事一起被老山龙摧毁了: 猎人惨死雨中,结云村永无放晴之日: 猎人被狂龙病毒侵蚀,天空山上黑蚀龙泛滥. 好像这才是怪物猎人系列的真实结局呢 day ...
- Mybatis一二级缓存的理解
频繁的数据库操作是非常耗费性能的(主要是因为对于DB而言,数据是持久化在磁盘中的,因此查询操作需要通过IO,IO操作速度相比内存操作速度慢了好几个量级),尤其是对于一些相同的查询语句,完全可以 ...
- 配置tomcat https的步骤
keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\tomcat.keystore -validity 36500 keytool -g ...
- 微信公众平台:微信JS-SDK Demo
ylbtech-微信公众平台:微信JS-SDK Demo 1. HTML返回顶部 1.demo.html <!DOCTYPE html> <html> <head> ...