ios 日期操作封装
来源:互联网 发布:权志龙水原希子 知乎 编辑:程序博客网 时间:2024/05/28 17:06
/**
* 获取明天日期
*
* @return NSDate类型
*/
+(NSDate *) dateTomorrow
{
return [[NSDatedate] initWithTimeIntervalSinceNow:24 *60 * 60 ];
}
/**
* 获取昨天日期
*
* @return NSDate类型
*/
+(NSDate *) dateYesterday
{
return [[NSDatedate] initWithTimeIntervalSinceNow: -24 *60 * 60];
}
/**
* 获取指定天数后的日期
*
* @param days 天数
*
* @return NSDate类型
*/
+(NSDate *) dateWithDaysFromNow:(NSUInteger) days
{
return [[NSDatedate] initWithTimeIntervalSinceNow:days *24 * 60 * 60];
}
/**
* 获取指定天数前的日期
*
* @param days 天数
*
* @return NSDate类型
*/
+(NSDate *) dateWithDaysBeforeNow:(NSInteger) days
{
return [[NSDatedate] initWithTimeIntervalSinceNow:((-24) *60 * 60 * days)];
}
/**
* 获取指定小时数后的日期
*
* @param dHours 小时数
*
* @return NSDate类型
*/
+(NSDate *) dateWithHoursFromNow:(NSUInteger) dHours
{
return [[NSDatedate] initWithTimeIntervalSinceNow:dHours *60 * 60];
}
/**
* 获取指定小时数前的日期
*
* @param dHours 小时数
*
* @return NSDate类型
*/
+(NSDate *) dateWithHoursBeforeNow:(NSInteger) dHours
{
return [[NSDatedate] initWithTimeIntervalSinceNow:dHours *60 * 60 * (-1)];
}
/**
* 获取指定分钟后的日期
*
* @param dMinutes 分钟
*
* @return NSDate类型
*/
+(NSDate *) dateWithMinutesFromNow:(NSUInteger) dMinutes
{
return [[NSDatedate] initWithTimeIntervalSinceNow:dMinutes *60];
}
/**
* 获取指定分钟前的日期
*
* @param dMinutes 分钟
*
* @return NSDate类型
*/
+(NSDate *) dateWithMinutesBeformNow:(NSInteger) dMinutes
{
return [[NSDatedate] initWithTimeIntervalSinceNow:dMinutes *60 * (-1)];
}
/**
* 当前日期与指定日期比较是否相等
*
* @param dMinutes 分钟
*
* @return NSDate类型
*/
-(BOOL) isEqualtoDatelgnoringTime:(NSDate *) aDate
{
return [[NSDatedate] isEqualToDate:aDate];
}
/**
* 是不是今天
*
* @param aDate 日期
*
* @return NSDate类型
*/
-(BOOL) IsToday:(NSDate *) aDate
{
NSCalendar *cld = [[NSCalendaralloc] init];
return [cld isDateInToday:aDate];
}
/**
* 是不是明天
*
* @param aDate 日期
*
* @return NSDate类型
*/
-(BOOL) isTomorrow:(NSDate *) aDate;
{
NSCalendar *cld = [[NSCalendaralloc] init];
return [cld isDateInTomorrow:aDate];
}
/**
* 是不是昨天
*
* @param aDate 日期
*
* @return NSDate类型
*/
-(BOOL) isYesterday:(NSDate *) aDate
{
NSCalendar *cld = [[NSCalendaralloc] init];
return [cld isDateInYesterday:aDate];
}
/**
* 是不是同一周
*
* @param aDate 日期
*
* @return NSDate类型
*/
-(BOOL) isSameWeekAsDate:(NSDate *) aDate
{
NSDate *start;
NSTimeInterval extends;
NSCalendar *cal = [NSCalendarautoupdatingCurrentCalendar];
NSDate *today = [NSDatedate];
BOOL success = [calrangeOfUnit:NSWeekdayCalendarUnitstartDate:&start interval:&extendsforDate:today];
if (!success) {
return false;
}
NSTimeInterval dateInSecs = [aDatetimeIntervalSinceReferenceDate];
NSTimeInterval dateStartInSecs = [start timeIntervalSinceReferenceDate];
if (dateInSecs > dateStartInSecs && dateInSecs < (dateStartInSecs + extends)) {
return true;
}else {
return false;
}
}
/**
* 是不是同一周
*
* @param aDate 日期
*
* @return NSDate类型
*/
-(BOOL) isThisWeek:(NSDate *) aDate
{
NSDate *start;
NSTimeInterval extends;
NSCalendar *cal = [NSCalendarautoupdatingCurrentCalendar];
NSDate *today = [NSDatedate];
//根据参数提供的时间点,返回所在日历单位的开始时间。如果startDate和interval均可以计算,则返回YES;否则返回NO
// extends获取的是日历单位所对应的秒数
BOOL success = [calrangeOfUnit:NSWeekdayCalendarUnitstartDate:&start interval:&extendsforDate:today];
if (!success) {
return false;
}
NSTimeInterval dateInSecs = [aDatetimeIntervalSinceReferenceDate];
NSTimeInterval dateStartInSecs = [start timeIntervalSinceReferenceDate];
if (dateInSecs > dateStartInSecs && dateInSecs < (dateStartInSecs + extends)) {
return true;
}else {
return false;
}
}
/**
* 是不是下一周
*
* @param aDate 日期
*
* @return NSDate类型
*/
-(BOOL) isNextWeek:(NSDate *) aDate
{
NSDate *start;
NSTimeInterval extends;
NSCalendar *cal = [NSCalendarautoupdatingCurrentCalendar];
NSDate *today = [NSDatedate];
BOOL success = [calrangeOfUnit:NSWeekdayCalendarUnitstartDate:&start interval:&extendsforDate:today];
if (!success) {
return false;
}
NSTimeInterval dateInSecs = [aDatetimeIntervalSinceReferenceDate];
NSTimeInterval dateStartInSecs = [start timeIntervalSinceReferenceDate];
if (dateInSecs > (dateStartInSecs + extends) && dateInSecs < (dateStartInSecs +2 * extends)) {
return true;
}else {
return false;
}
}
/**
* 是不是上一周
*
* @param aDate 日期
*
* @return NSDate类型
*/
-(BOOL) isLastWeek:(NSDate *) aDate
{
NSDate *start;
NSTimeInterval extends;
NSCalendar *cal = [NSCalendarautoupdatingCurrentCalendar];
NSDate *today = [NSDatedate];
BOOL success = [calrangeOfUnit:NSWeekdayCalendarUnitstartDate:&start interval:&extendsforDate:today];
if (!success) {
return false;
}
NSTimeInterval dateInSecs = [aDatetimeIntervalSinceReferenceDate];
NSTimeInterval dateStartInSecs = [start timeIntervalSinceReferenceDate];
if (dateInSecs < dateStartInSecs && dateInSecs > (dateStartInSecs - extends)) {
return true;
}else {
return false;
}
}
/**
* 是不是同一年
*
* @param aDate 日期
*
* @return NSDate类型
*/
-(BOOL) isSameYearAsDate:(NSDate *) aDate andSecDate:(NSDate *) bDate
{
NSDateFormatter *ds = [[NSDateFormatteralloc] init];
[ds setDateFormat:@"yyyy"];
NSString *bDateStr = [ds stringFromDate:bDate];
NSString *aDateStr = [ds stringFromDate:aDate];
if ([aDateStr isEqual:bDateStr]) {
return true;
}else {
return false;
}
}
/**
* 是不是同一年
*
* @param aDate 日期
*
* @return NSDate类型
*/
-(BOOL) isThisYear:(NSDate *) aDate
{
NSDateFormatter *ds = [[NSDateFormatteralloc] init];
[ds setDateFormat:@"yyyy"];
NSString *currentDateStr = [ds stringFromDate:[NSDate date]];
NSString *compareDateStr = [ds stringFromDate:aDate];
if ([currentDateStr isEqual:compareDateStr]) {
return true;
}else {
return false;
}
}
/**
* 是不是下一年
*
* @param aDate 日期
*
* @return NSDate类型
*/
-(BOOL) isNextYear:(NSDate *) aDate
{
NSDateFormatter *ds = [[NSDateFormatteralloc] init];
[ds setDateFormat:@"yyyy"];
NSString *currentDateStr = [ds stringFromDate:[NSDate date]];
NSString *compareDateStr = [ds stringFromDate:aDate];
NSInteger currentDateInt = [currentDateStr integerValue];
NSInteger compareDateInt = [compareDateStr integerValue];
if (compareDateInt - currentDateInt == 1) {
return true;
}else {
return false;
}
}
/**
* 是不是上一年
*
* @param aDate 日期
*
* @return NSDate类型
*/
-(BOOL) isLastYear:(NSDate *) aDate
{
NSDateFormatter *ds = [[NSDateFormatteralloc] init];
[ds setDateFormat:@"yyyy"];
NSString *currentDateStr = [ds stringFromDate:[NSDate date]];
NSString *compareDateStr = [ds stringFromDate:aDate];
NSInteger currentDateInt = [currentDateStr integerValue];
NSInteger compareDateInt = [compareDateStr integerValue];
if (currentDateInt - compareDateInt == 1) {
return true;
}else {
return false;
}
}
/**
* 是不是比dDate早
*
* @param aDate 指定日期
*
* @return NSDate类型
*/
-(BOOL) isEarlierThanDate:(NSDate *) aDate
{
NSDate *date = [[NSDatealloc] init];
if ([[date laterDate:aDate]isEqualToDate:aDate]) {
return true;
}else {
return false;
}
}
/**
* 是不是比aData晚
*
* @param aDate 指定日期
*
* @return NSDate类型
*/
-(BOOL) isLaterThanDate:(NSDate *) aDate
{
NSDate *date = [[NSDatealloc] init];
if ([[date earlierDate:aDate]isEqualToDate:aDate]) {
return false;
}else {
return true;
}
}
- ios 日期操作封装
- ios-封装日期控件
- iOS 有关日期操作
- ios 操作日期NSDate
- iOS 日期操作
- ios 操作日期NSDate
- iOS开发-日期操作
- IOS NSDate日期操作总结
- IOS NSDate日期操作总结
- IOS NSDate日期操作总结
- 一个自己封装的日期时间操作的用户对象
- 日期操作工具类之 Calendar的常用方法封装
- IOS中关于日期的操作
- IOS Object-c NSDate总结日期操作
- iOS与日期相关的操作
- IOS Object-c NSDate总结日期操作
- IOS Object-c NSDate总结日期操作
- IOS Object-c NSDate总结日期操作
- 低成本和高性能的MySQL云数据库的实现
- SpringMVC自动登录功能
- 设计模式学习笔记(五):建造者模式【Builder Pattern】(一)问题提出
- SAP财务会计学习
- GCC __attribute__ meaning (reference for https://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/Function-Att)
- ios 日期操作封装
- 怎样通过boost库的breadth_first_search算法查找点到点的最短路径
- OpenCV数字图像处理(4) 平移
- 四大组件之BroadcastReceiver
- Linux的Init程序与系统服务管理
- Hadoop Exception: java.lang.IllegalArgumentException: Does not contain a valid host:port authority:
- minicom & runscript 介绍
- NSUserDefaults存储mutable类型实例
- perl 引用/hash