NSDate 工具
- #import "NSDate+XMGExtension.h"
- @implementation NSDate (XMGExtension)
- /**
- * 是否为今天
- */
- - (BOOL)isToday
- {
- NSCalendar *calendar = [NSCalendar currentCalendar];
- NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay;
- NSDateComponents *selfCmps = [calendar components:unit fromDate:self];
- NSDateComponents *nowCmps = [calendar components:unit fromDate:[NSDate date]];
- return selfCmps.year == nowCmps.year
- && selfCmps.month == nowCmps.month
- && selfCmps.day == nowCmps.day;
- }
- /**
- * 是否为昨天
- */
- - (BOOL)isYesterday
- {
- // 2015-04-01 10:10:10 -> 2015-04-01 00:00:00
- // 2015-03-31 23:50:40 -> 2015-03-31 00:00:00
- // 生成只有年月日的日期对象
- NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
- fmt.dateFormat = @"yyyy-MM-dd";
- NSString *selfString = [fmt stringFromDate:self];
- NSDate *selfDate = [fmt dateFromString:selfString];
- NSString *nowString = [fmt stringFromDate:[NSDate date]];
- NSDate *nowDate = [fmt dateFromString:nowString];
- // 比较差距
- NSCalendar *calendar = [NSCalendar currentCalendar];
- NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay;
- NSDateComponents *cmps = [calendar components:unit fromDate:selfDate toDate:nowDate options:];
- return cmps.year ==
- && cmps.month ==
- && cmps.day == ;
- }
- /**
- * 是否为明天
- */
- - (BOOL)isTomorrow
- {
- // 生成只有年月日的日期对象
- NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
- fmt.dateFormat = @"yyyy-MM-dd";
- NSString *selfString = [fmt stringFromDate:self];
- NSDate *selfDate = [fmt dateFromString:selfString];
- NSString *nowString = [fmt stringFromDate:[NSDate date]];
- NSDate *nowDate = [fmt dateFromString:nowString];
- // 比较差距
- NSCalendar *calendar = [NSCalendar currentCalendar];
- NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay;
- NSDateComponents *cmps = [calendar components:unit fromDate:selfDate toDate:nowDate options:];
- return cmps.year ==
- && cmps.month ==
- && cmps.day == -;
- }
- /**
- * 是否为今年
- */
- - (BOOL)isThisYear
- {
- NSCalendar *calendar = [NSCalendar currentCalendar];
- NSInteger selfYear = [calendar component:NSCalendarUnitYear fromDate:self];
- NSInteger nowYear = [calendar component:NSCalendarUnitYear fromDate:[NSDate date]];
- return selfYear == nowYear;
- }
- @end
NSDate 工具的更多相关文章
- IOS NSDate NSDateFormatter 导致相差8小时
时间问题应该是所有编程语言都要处理的.详细学过php的同学知道,php中也会有相差8小时的问题,然而php可以非常方便的解决的,直接设置下就好了 我最近在学习IOS的过程中,发现IOS的日期处理也是个 ...
- 让iOS开发变得更有效率-分类、工具类
在工作中整理的一些分类与工具类,分享给大家.这些工具类可以减少项目中的代码量,让代码变得更简洁,可以大大的提升项目的效率,直接拖到项目中使用即可.下载地址:https://github.com/lee ...
- 实现一个简单的http请求工具类
OC自带的http请求用起来不直观,asihttprequest库又太大了,依赖也多,下面实现一个简单的http请求工具类 四个文件源码大致如下,还有优化空间 MYHttpRequest.h(类定义, ...
- iOS-----GitHub上比较齐全的iOS 工具和App
Github-iOS 工具 和 App 系统基础库 Category/Util sstoolkit 一套Category类型的库,附带很多自定义控件 功能不错- BFKit 又一套Ca ...
- iOS 常用工具库LFKit功能介绍
简介:LFKit包含了平时常用的category,封装的常用组件,一些工具类. 需要LFKit中所有自定义控件的pod 'LFKit/Component' 需要LFKit中所有category的pod ...
- AFNetworking网络请求与图片上传工具(POST)
AFNetworking网络请求与图片上传工具(POST) .h文件 #import <Foundation/Foundation.h> /** 成功Block */ typedef vo ...
- Unity3d入门 - 关于unity工具的熟悉
上周由于工作内容较多,花在unity上学习的时间不多,但总归还是学习了一些东西,内容如下: .1 根据相关的教程在mac上安装了unity. .2 学习了unity的主要的工具分布和对应工具的相关的功 ...
- 细说前端自动化打包工具--webpack
背景 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过链接组织在一起.用过Dreamweaver的都知道,做网页就像用word编辑文档 ...
- 应用工具 .NET Portability Analyzer 分析迁移dotnet core
大多数开发人员更喜欢一次性编写好业务逻辑代码,以后再重用这些代码.与构建不同的应用以面向多个平台相比,这种方法更加容易.如果您创建与 .NET Core 兼容的.NET 标准库,那么现在比以往任何时候 ...
随机推荐
- IPython、Notebook、qtconsole使用教程
IPython.Notebook.qtconsole使用教程 上一篇为Python,IPython,qtconsole,Notebook,Jupyter快速安装教程 1. 使用IPython 自动补全 ...
- Matlab2014的下载和安装激活过程
Matlab2014的下载和安装过程 转载自csdn https://blog.csdn.net/hp910315/article/details/70197149 1 下载Matlab2014,下 ...
- vc++中 .H 头文件引用的顺序与符号关系
在使用 #include "math.h" 和 #include <math.h>时,引号 与尖括号的区别如下 此时math.h_1 在工程文件中 math.h_2 ...
- BigDecimal运算
BigDecimal由任意精度整数未缩放值和32位整数级别组成 . 如果为零或正数,则刻度是小数点右侧的位数. 如果是负数,则数字的非标定值乘以10,以达到等级的否定的幂. 因此,BigDecimal ...
- ie7下设置z-index无效如何解决?
ie7下z-index无效的问题之前做练习的时候遇到过,百度解决掉之后就丢脑后了.今天项目中又发现这个bug,无奈又去百度,这次还是记下来,节省了百度的时间还能小装一把... 需求是这样的: 页面中的 ...
- 个人Linux(ubuntu)使用记录——更换软件源
说明:记录自己的linux使用过程,并不打算把它当作一个教程,仅仅只是记录下自己使用过程中的一些命令,配置等东西,这样方便自己查阅,也就不用到处去网上搜索了,所以文章毫无章法可言,甚至会记录得很乱 s ...
- php正则表达式匹配html标签
用php正则表达式找出div标签,div允许多层嵌套,比如在以下文本中找出class为quizPutTag的div? <html> <head></head> &l ...
- js之DOM间接操作
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 牛客网NOIP赛前集训营 提高组 第5场 T2 旅游
[题解] 我们可以发现不在最小生成树上的边一定不能多次经过,因为一条不在最小生成树上的边(u,v)的边权比最小生成树上(u,v)之间的路径更长,选择不在最小生成树上的边一定不划算. 我们还需要确定最小 ...
- 【OpenCV, MFC, DIP】向图像中加入各种噪声
1.椒盐噪声 Mat dstImage = srcImage.clone(); ; k < n; k++) { //随机取值行列 int i = rand() % dstImage.rows; ...