NSDate分类,把系统返回的时间与现在进行比较---秀清
2024-09-08 04:25:37
//
// NSDate+Joe.h
//
// Created by 张秀清 on 15/9/17.
// Copyright (c) 2015年 张秀清. All rights reserved.
// #import <Foundation/Foundation.h> @interface NSDate (Joe) /**
* 是否是今天
*/
-(BOOL)isToday;
/**
* 是否是这个月
*/
-(BOOL)isThisYear;
/**
* 是否是今年
*/
-(BOOL)isThisMonth;
/**
* 是否为昨天
*/
- (BOOL)isYesterday; /**
* 返回'YYYY-MM-DD'的nsdate
*/
- (NSDate *)dateWithYMD; /**
* 返回与当前时间的差距
*/
- (NSDateComponents *)deltaWithNow;
@end //
// NSDate+Joe.m
//
// Created by 张秀清 on 15/9/17.
// Copyright (c) 2015年 张秀清. All rights reserved.
// #import "NSDate+Joe.h" @implementation NSDate (Joe) -(BOOL)isToday
{
NSCalendar *calendar = [NSCalendar currentCalendar]; int NSCalendarUnit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay; //获取当前的年月日
NSDateComponents *nowCps = [calendar components:NSCalendarUnit fromDate:[NSDate date]]; NSDateComponents *selfCps = [calendar components:NSCalendarUnit fromDate:self]; return (nowCps.year == selfCps.year) && (nowCps.month == selfCps.month) && (nowCps.day == selfCps.day);
} -(BOOL)isThisMonth
{
NSCalendar *calendar = [NSCalendar currentCalendar]; int NSCalendarUnit = NSCalendarUnitYear | NSCalendarUnitMonth; //获取当前的年月日
NSDateComponents *nowCps = [calendar components:NSCalendarUnit fromDate:[NSDate date]]; NSDateComponents *selfCps = [calendar components:NSCalendarUnit fromDate:self]; return (nowCps.year == selfCps.year) && (nowCps.month == selfCps.month); } -(BOOL)isThisYear
{
NSCalendar *calendar = [NSCalendar currentCalendar]; int NSCalendarUnit = NSCalendarUnitYear; //获取当前的年月日
NSDateComponents *nowCps = [calendar components:NSCalendarUnit fromDate:[NSDate date]]; NSDateComponents *selfCps = [calendar components:NSCalendarUnit fromDate:self]; return nowCps.year == selfCps.year;
} /**
* 是否为昨天
*/
- (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;
} /**
* 返回'YYYY-MM-DD'的nsdate
*/
- (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
最新文章
- JavaScript闭包(Closure)
- [tem]Longest Increasing Subsequence(LIS)
- Mysql大量插入随机数据方法--存储过程
- 我的CSS样式记事本(1)
- nginx配置:支持phpfastcgi,nginx和php-cgi通信,部分nginx常量解释
- 非主窗体在任务栏显示按钮(简单好用)good
- copy_part_stat.sql
- python全栈开发-Day11 迭代器、生成器、面向过程编程
- 关于java使用POI导出ppt ,其中表格setText 失败问题
- [转帖]CS、IP和PC寄存器
- windows同时安装了两种jdk
- 转://oracle 重新编译用户无效对象
- C#如何HttpWebRequest模拟登陆,获取服务端返回Cookie以便登录请求后使用
- 18 LVM逻辑卷管理
- PHP中Cookie的使用
- <;黑天鹅>;读书笔记
- 在线js调试工具JSbin、jsFiddle
- MVC ---- ckeditor 循环遍历并绑定blur事件
- Codeforces Round #222 (Div. 1) B. Preparing for the Contest 二分+线段树
- linux下ntp服务器搭建方法
热门文章
- Java初学者作业——完成对已定义类(Admin)的对象的创建。并完成属性的赋值和方法的调用。
- 「超市管理系统——商品管理」 · Java Swing + MySQL JDBC开发
- 如何使用NiFi等构建IIoT系统
- golang vue 使用 websocket 的例子
- python requests发起请求,报“Max retries exceeded with url”
- Git_同一个本地仓库上传到不同的远端仓库(github、gitee)
- [ css ] 实现漂亮的输入框动画(借鉴自panjiachen的后台管理项目)
- 第10组 Beta冲刺 总结
- Cookie.Session到Token和JWT
- javaScript(笔记1)