#import <Foundation/Foundation.h>

@interface NSDate (XMGExtension)
/** */
// @property (nonatomic, copy) NSString *name;
//- (NSString *)name;
//- (void)setName:(NSString *)name; /**
* 是否为今年
*/
- (BOOL)isThisYear; /**
* 是否为今天
*/
- (BOOL)isToday; /**
* 是否为昨天
*/
- (BOOL)isYesterday; /**
* 是否为明天
*/
- (BOOL)isTomorrow; @end
#import "NSDate+XMGExtension.h"

@implementation NSDate (XMGExtension)

- (BOOL)isThisYear
{
// 判断self这个日期是否为今年
NSCalendar *calendar = [NSCalendar calendar]; // 年
NSInteger selfYear = [calendar component:NSCalendarUnitYear fromDate:self];
NSInteger nowYear = [calendar component:NSCalendarUnitYear fromDate:[NSDate date]]; return selfYear == nowYear;
}
//- (BOOL)isThisYear
//{
// NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
// fmt.dateFormat = @"yyyy";
//
// // 年
// NSString *selfYear = [fmt stringFromDate:self];
// NSString *nowYear = [fmt stringFromDate:[NSDate date]];
//
// return [selfYear isEqualToString:nowYear];
//}
- (BOOL)isToday
{
// 判断self这个日期是否为今天
NSCalendar *calendar = [NSCalendar calendar]; // 获得年月日元素
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)isToday
//{
// // 判断self这个日期是否为今天
// NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
// fmt.dateFormat = @"yyyyMMdd";
//
// NSString *selfString = [fmt stringFromDate:self];
// NSString *nowString = [fmt stringFromDate:[NSDate date]];
//
// return [selfString isEqualToString:nowString];
//} - (BOOL)isYesterday
{
// 判断self这个日期是否为昨天 // self == 2015-10-31 23:07:08 -> 2015-10-31 00:00:00
// now == 2015-11-01 14:39:20 -> 2015-11-01 00:00:00 NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
fmt.dateFormat = @"yyyyMMdd"; NSString *selfString = [fmt stringFromDate:self]; //
NSString *nowString = [fmt stringFromDate:[NSDate date]]; // NSDate *selfDate = [fmt dateFromString:selfString]; // 2015-10-31 00:00:00
NSDate *nowDate = [fmt dateFromString:nowString]; // 2015-11-01 00:00:00 NSCalendar *calendar = [NSCalendar calendar];
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 = @"yyyyMMdd"; NSString *selfString = [fmt stringFromDate:self]; //
NSString *nowString = [fmt stringFromDate:[NSDate date]]; // NSDate *selfDate = [fmt dateFromString:selfString]; // 2015-10-31 00:00:00
NSDate *nowDate = [fmt dateFromString:nowString]; // 2015-11-01 00:00:00 NSCalendar *calendar = [NSCalendar calendar];
NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay;
NSDateComponents *cmps = [calendar components:unit fromDate:selfDate toDate:nowDate options:]; return cmps.year ==
&& cmps.month ==
&& cmps.day == -;
}
#import <Foundation/Foundation.h>

@interface NSCalendar (XMGExtension)
+ (instancetype)calendar;
@end
#import "NSCalendar+XMGExtension.h"

@implementation  (XMGExtension)
+ (instancetype)calendar
{
if ([NSCalendar respondsToSelector:@selector(calendarWithIdentifier:)]) {
return [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];
} else {
return [NSCalendar currentCalendar];
} }
@end

最新文章

  1. 关于button和form提交的一些问题
  2. jq获取绝对定位与相对定位的top, left值
  3. windows下开启mysql远程访问
  4. 【转】深入浅出REST
  5. js个人笔记
  6. Journal.Today 1.0.0
  7. ubuntu 64bit “arm-linux-gcc: No such file or directory”问题的解决方法
  8. hdu 1099 Lottery
  9. 第三章SignalR在线聊天例子
  10. NGUI判断是否点击到UI控件
  11. call和apply的异同
  12. 洛谷P1171 售货员的难题【状压DP】
  13. DSAPI 简单WebAPI实现
  14. Scrapy学习篇(九)之文件与图片下载
  15. spring载入外部配置文件的方法
  16. python3练习-装饰器
  17. 使用markdown第一个博客
  18. 青岛大学开源OJ平台搭建
  19. flexbox子盒子order属性
  20. Linux alias理解及设置

热门文章

  1. cookie和session笔记
  2. 【Unity3D自学记录】鼠标移动三维物体
  3. D3.js中对array的使用
  4. 在同一个局域网下实时访问vue项目,移动端也可以。
  5. python报错Nonetype object is not iterable
  6. Node.js笔记 http fs
  7. 理解OAuth 2.0 - 阮一峰的网络日志
  8. winform最大化后不遮挡任务栏
  9. Java 服务端入门和进阶指南
  10. ES6的基础知识总结