NSDate的一个分类,判断是否是今天,昨天,今年,获得与当前时间的差距,返回一个只有年月日的日期
来源:互联网 发布:美国原油库存eia数据 编辑:程序博客网 时间:2024/05/17 22:46
//// NSDate+YKD.h#import <Foundation/Foundation.h>@interface NSDate (YKD)/** * 是否为今天 */- (BOOL)isToday;/** * 是否为昨天 */- (BOOL)isYesterday;/** * 是否为今年 */- (BOOL)isThisYear;/** * 获得与当前时间的差距 */- (NSDateComponents *)deltaWithNow;/** * 返回一个只有年月日的时间 */- (NSDate *)dateWithYMD;@end
#import "NSDate+YKD.h"@implementation NSDate (YKD)- (BOOL)isToday{ //now: 2015-09-05 11:23:00 //self 调用这个方法的对象本身 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);}- (BOOL)isYesterday{ //2014-05-01 NSDate *nowDate = [[NSDate date] dateWithYMD]; //2014-04-30 NSDate *selfDate = [self dateWithYMD]; //获得nowDate和selfDate的差距 NSCalendar *calendar = [NSCalendar currentCalendar]; NSDateComponents *cmps = [calendar components:NSCalendarUnitDay fromDate:selfDate toDate:nowDate options:0]; return cmps.day == 1;}- (BOOL)isThisYear{ NSCalendar *calendar = [NSCalendar currentCalendar]; int unit = NSCalendarUnitYear ; //1.获得当前时间的 年月日 NSDateComponents *nowCmps = [calendar components:unit fromDate:[NSDate date]]; //2.获得self NSDateComponents *selfCmps = [calendar components:unit fromDate:self]; return selfCmps.year == nowCmps.year;}/** * 返回这种格式的日期 yyyy-MM-dd */- (NSDate *)dateWithYMD{ NSDateFormatter *fmt = [[NSDateFormatter alloc] init]; fmt.dateFormat = @"yyyy-MM-dd"; NSString *selfStr = [fmt stringFromDate:self]; return [fmt dateFromString:selfStr];}- (NSDateComponents *)deltaWithNow{ NSCalendar *calendar = [NSCalendar currentCalendar]; int unit = NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond; return [calendar components:unit fromDate:self toDate:[NSDate date] options:0];}@end
0 0
- NSDate的一个分类,判断是否是今天,昨天,今年,获得与当前时间的差距,返回一个只有年月日的日期
- iOS - NSDate分类-判断时间是否为今天,昨天,一周内,年月日
- 判断是否为今年、是否为今天、是否为昨天,比较当前时间和from时间的差值
- 判断是否为今年、是否为今天、是否为昨天,比较当前时间和from时间的差值
- iOS如何判断一个日期是否是今天,昨天,前天?
- Android 判断获取的时间是否是今天、昨天
- NSDate 判断指定的日期为今天,明天,还是昨天。
- Java判断一个日期时间是否是昨天
- NSDate 判断日期是今天还是昨天
- 判断一个字符串的是否是时间
- Java 判断一个日期 是否为 今天、昨天
- js 根据已知的时间,判断是否是今天,明天,昨天,后天
- jq 根据返回的时间判断昨天、今天
- 判断日期是否是明天,今天,昨天
- mysql 获取昨天日期、今天日期、明天日期以及前一个小时和后一个小时的时间
- 判断当前日期是今年的第几天
- 判断今天是否是一个月的最后一天
- ios中处理时间是否是今天,昨天,今年
- classpath & classpath*
- 10026 - Shoemaker's Problem(贪心)
- LeetCode OJ4 Median of Two Sorted Arrays 小结
- Eclipse启动Weblogic控制台显示乱码解决办法
- 最长公共子序列
- NSDate的一个分类,判断是否是今天,昨天,今年,获得与当前时间的差距,返回一个只有年月日的日期
- hdu4099(trie树,斐波那契数列)
- B\S备忘录28——EF强行多租户效果?谁来进谁的库
- C++中不能被声明为虚函数的函数
- Objective-C 学习笔记 12 预处理程序
- OC-字符串集合补充
- 测试基础 黑盒测试
- 让Linq的OrderBy支持动态字段
- 小谈反射机制