NSDate的使用方便的分类(提供判断是否为今天,昨天,今年的方法)

  分类的.h文件提供四个方法来方便使用

  

  - (BOOL)isToday;//判断是否为今天

  - (BOOL)isYesterday;//是否为昨天

  - (BOOL)isThisYear;//是不是今年

  - (NSDate
*)dateWithYMD;//格式化日期,返回yyyy-MM-dd

  - (NSDateComponents
*)deltaWithNow;//日期和当前日期的差的天数

  方法的具体实现

  

- (BOOL)isToday

{

NSCalendar *calendar =
[NSCalendar currentCalendar];

int unit = NSCalendarUnitDay | NSCalendarUnitMonth | 
NSCalendarUnitYear;

//
1.获得当前时间的年月日

NSDateComponents *nowCmps =
[calendar components:unit fromDate:[NSDate date]];

// 2.获得self的年月日

NSDateComponents *selfCmps =
[calendar components:unit fromDate:self];

return

(selfCmps.year ==
nowCmps.year) &&    
 //直接分别用当前对象和现在的时间进行比较,比较的属性就是年月日

(selfCmps.month ==
nowCmps.month) &&

(selfCmps.day ==
nowCmps.day);

}

//格式化日期

- (NSDate *)dateWithYMD

{

NSDateFormatter
*fmt = [[NSDateFormatteralloc]
init];

fmt.dateFormat = @"yyyy-MM-dd";

NSString *selfStr = [fmt
stringFromDate:self];

return [fmt dateFromString:selfStr];

}

//判断是不是今年

-(BOOL)thisYear

{

  NSCalendar *cale = [NSCalendar curentCalendar];

  int unit = NSCalendarUnitYear;

  //获取当前的年月日

  NSDateComponents  *nowCmps = [calendar
 components:unit fromDate:[NSDate date];

  //获得self的年月日

  NSDateComponents *selfCmps = [calendar
components:unit fromDate:self];

  return nowCmps.year == selfCmps.year;

}

//计算日期差

- (NSDateComponents *)deltaFromNow

{

NSCalendar *calendar =
[NSCalendar currentCalendar];

int unit = NSCalendarUnitHour | NSCalendarUnitMinute |
NSCalendarUnitSecond;

return [calendar components:unit fromDate:selftoDate:[NSDatedate] options:0];

}

2014年05月12日07:37:12

mark - All right reserved.

时间: 2024-10-05 15:42:40

NSDate的使用方便的分类(提供判断是否为今天,昨天,今年的方法)的相关文章

Webbrowser控件判断网页加载完毕的简单方法 (转)

摘自:http://blog.csdn.net/cometnet/article/details/5261192 一般情况下,当ReadyState属性变成READYSTATE_COMPLETE时,Webbrowser控件会通过触发DocumentCompleted事件来指示网页加载完毕.但当加载的网页包含frame时,可能会多次触发该事件,所以不能简单地通过它来判断网页加载完毕. 从微软的官方网站上了解到,并非每个frame都对应了一个DocumentCompleted事件,只有触发了Down

Webbrowser控件判断网页加载完毕的简单方法

一般情况下,当ReadyState属性变成READYSTATE_COMPLETE时,Webbrowser控件会通过触发DocumentCompleted事件来指示网页加载完毕.但当加载的网页包含frame时,可能会多次触发该事件,所以不能简单地通过它来判断网页加载完毕.从微软的官方网站上了解到,并非每个frame都对应了一个DocumentCompleted事件,只有触发了DownloadBegin事件的frame才会有相应的DocumentCompleted事件.另外,最外层的frame总是最

jQuery 判断checkbox是否被选中 4种方法

下午写JS验证,有一个需求需要判断 checkbox是否被选择,查阅相关资料后,总结以下4种方法,分享给大家. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>jQuery 判断checkbox是否被选中 4种方法</title> <script src="jquery-1.8.3.min

Android之判断某个服务是否正在运行的方法

/** * 判断某个服务是否正在运行的方法 * * @param mContext * @param serviceName * 是包名+服务的类名(例如:net.loonggg.testbackstage.TestService) * @return true代表正在运行,false代表服务没有正在运行 */ public boolean isServiceWork(Context mContext, String serviceName) { boolean isWork = false;

C# 判断两张图片是否一致的快速方法

#region 判断图片是否一致 /// <summary> /// 判断图片是否一致 /// </summary> /// <param name="img">图片一</param> /// <param name="bmp">图片二</param> /// <returns>是否一致</returns> public bool IsSameImg(Bitmap img

JavaScript判断数组是否包含指定元素的方法

本文实例讲述了JavaScript判断数组是否包含指定元素的方法.分享给大家供大家参考.具体如下: 这段代码通过prototype定义了数组方法,这样就可以在任意数组调用contains方法 /** * Array.prototype.[method name] allows you to define/overwrite an objects method * needle is the item you are searching for * this is a special variab

判断图中是否有环的方法

一.无向图 方法一:n算法: 原理是: 如果存在回路,则必存在一个子图,是一个环路.环路中所有顶点的度>=2. 第一步:删除所有度<=1的顶点及相关的边,并将另外与这些边相关的其它顶点的度减一. 第二步:将度数变为1的顶点排入队列,并从该队列中取出一个顶点重复步骤一. 如果最后还有未删除顶点,则存在环,否则没有环. 方法2: DFS搜索图,图中的边只可能是树边或反向边,一旦发现反向边,则表明存在环.该算法的复杂度为O(V). 二.有向图 主要有深度优先和拓扑排序两种方法 判断图中是否有环的方法

Discuz! X3.2 在帖子标题显示分类信息中的某个字段内容的实现方法

1. 设计好一组分类信息: 2. 在列表页模板中填写帖子的标题格式,例如: [{producer_value}][{artist_value}]{subject}[{size_value}{size_unit}] 3. 修改template\default\forum\forumdisplay_list.htm文件,将173行起的一组 if 语句替换成: <!--{if !$thread[sortid]}--> <a href="forum.php?mod=viewthread

JAVA 中两种判断输入的是否是数字的方法__正则化_

JAVA 中两种判断输入的是否是数字的方法 package t0806; import java.io.*; import java.util.regex.*; public class zhengzehua_test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { System.out.println("请输入第一个数字:"

【代码备忘】VC判断自己窗口的另一种方法

欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 FindWindow就不说了,这说 的是另一种:GetProp 代码也差不多: 查询... HWND hWndPrevious = ::GetWindow(::GetDesktopWindow(), GW_CHILD); while (::IsWindow(hWndPrevious)) { if (::GetProp(hWndPrevious, _FLAG)) { if (::IsI