时间日期判断实例

直接看代码吧:

//  Created by cctv on 15/8/7.

//  Copyright (c) 2015年 cctv. All rights reserved.

//

#import "NSString+add.h"

#import "NSDate+add.h"

@implementation NSString (add)

+ (NSString *)stringWithDateString:(NSString*) dateString

{
     //  dateString -> @"Mon Nov 02 19:32:59 +0800 2015"

NSDateFormatter *dateF = [[NSDateFormatter alloc] init];

dateF.dateFormat = @"EEE MMM dd HH:mm:ss Z yyyy";

dateF.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en-AS"];

[dateF dateFromString:dateString];

// 创建时间

NSDate *date = [dateF dateFromString:dateString];

//判断创建时间与当前时间的关系

if (date.dateIsThisDay) {

NSDateComponents *dateComp = [date dateIsToday];

if (dateComp.hour >= 1) {

dateF.dateFormat = [NSString stringWithFormat:@"%d小时前",dateComp.hour];

return [dateF stringFromDate:date];

}else if(dateComp.minute >= 1 ){

dateF.dateFormat = [NSString stringWithFormat:@"%d分钟前",dateComp.minute];

return [dateF stringFromDate:date];

}else{

return @"刚刚";

}

}else if (date.dateIsYesterDay){

dateF.dateFormat = @"昨天 HH:mm";

return [dateF stringFromDate:date];

}else if(date.dateIsThisYear){

dateF.dateFormat = @"MM-dd HH:mm";

return [dateF stringFromDate:date];

}else{

dateF.dateFormat = @"yyyy-MM-dd HH:mm";

return [dateF stringFromDate:date];

}

}

@end

--------。。。。。------

#import "NSDate+add.h"

@implementation NSDate (add)

- (BOOL)dateIsThisYear

{

NSCalendar *calendar = [NSCalendar currentCalendar];

NSDateComponents *nowComp = [calendar components:(NSCalendarUnitYear) fromDate:[NSDate date]];

NSDateComponents *selfComp = [calendar components:(NSCalendarUnitYear) fromDate:self];

return nowComp.year == selfComp.year;

}

- (BOOL)dateIsThisDay

{

NSCalendar *calendar = [NSCalendar currentCalendar];

NSDateComponents *nowComp = [calendar components:(NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay) fromDate:[NSDate date]];

NSDateComponents *selfComp = [calendar components:(NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay) fromDate:self];

return nowComp.year == selfComp.year && nowComp.month == selfComp.month && nowComp.day == selfComp.day;

}

- (BOOL)dateIsYesterDay

{

NSCalendar *calendar = [NSCalendar currentCalendar];

NSDateComponents *nowComp = [calendar components:(NSCalendarUnitYear) fromDate:[NSDate date]];

NSDateComponents *selfComp = [calendar components:(NSCalendarUnitYear) fromDate:self];

return nowComp.year == selfComp.year;

}

- (NSDateComponents*)dateIsToday

{

NSCalendar *calendar = [NSCalendar currentCalendar];

NSDateComponents *dateComp = [calendar components:NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond fromDate:self toDate:[NSDate date] options:0];

return dateComp;

}

@end

时间: 2024-07-30 05:35:17

时间日期判断实例的相关文章

js实现的可以自动刷新的时间日期代码实例

js实现的可以自动刷新的时间日期代码实例:可以自动刷新的时间日期效果在很多网页都在使用,因为能够让页面更加动感一些,也更加人性化,用户可以实时查看页面的时间,下面就通过代码实例介绍一下如何实现此效果.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.sof

Js获取当前日期时间+日期印证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天

Js获取当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天 字符串转日期型+Js当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+日期所在年的第几周 日期时间脚本库方法列表Date.prototype.isLeapYear 判断闰年Date.prototype.Format 日期格式化Date.prototype.DateAdd 日期计算Date.prototype.DateDiff 比较日期差Date.prototype.toString 日期转字符

mydate97时间控件最大值最小值限制及Javascript日期判断大小

<script language="javascript" type="text/javascript" src="<%=basePath %>js/datePicker/WdatePicker.js"></script><form id="searchForm" action="trans/triplist" method="post" ons

Java 8 时间日期库的20个使用示例

java 8是如何处理时间及日期的 有人问我学习一个新库的最佳途径是什么?我的回答是,就是在实际项目中那样去使用它.在一个真实的项目中会有各种各样的需求,这会促使开发人员去探索和研究这个新库.简言之,只有任务本身才会真正促使你去探索及学习.java 8的新的日期及时间API也是一样.为了学习Java 8的这个新库,这里我创建了20个以任务为导向的例子.我们先从一个简单的任务开始,比如说如何用Java 8的时间日期库来表示今天,接着再进一步生成一个带时间及时区的完整日期,然后再研究下如何完成一些更

Java 8新的时间日期库的20个使用示例

除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务示例来学习如何使用Java 8的这套API.Java对日期,日历及时间的处理一直以来都饱受诟病,尤其是它决定将java.util.Date定义为可修改的以及将SimpleDateFormat实现成非线程安全的. 看来Java已经意识到需要为时间及日期功能提供更好的支持了,这对已经习惯使用Joda时间日期库的社区而言也是件好事.关于这个新的时间日期库的最大的优

java8新的时间日期库及使用示例

来自:Java译站 链接:http://it.deepinmind.com/java/2015/03/17/20-examples-of-date-and-time-api-from-Java8.html 英文:http://javarevisited.blogspot.sg/2015/03/20-examples-of-date-and-time-api-from-Java8.html 本文根据上述资料进行整理修改说明 java8引入了一套全新的时间日期API,本篇随笔将说明学习java8的这

Java8中时间日期库的20个常用使用示例

除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务示例来学习如何使用Java 8的这套API.Java对日期,日历及时间的处理一直以来都饱受诟病,尤其是它决定将java.util.Date定义为可修改的以及将SimpleDateFormat实现成非线程安全的.看来Java已经意识到需要为时间及日期功能提供更好的支持了,这对已经习惯使用Joda时间日期库的社区而言也是件好事.关于这个新的时间日期库的最大的优点

java8 - 新的时间日期API示例

Java 8之前的库对时间和日期的支持非常不理想,不用担心,在Java 8中引入全新的时间和日期API,并且都是线程安全的 新时间日期API常用对象介绍 LocalDate: 表示没有时区的日期, LocalDate是不可变且线程安全 LocalTime: 表示没有时区的时间, LocalTime是不可变且线程安全 LocalDateTime: 表示没有时区的日期时间, LocalDateTime是不可变且线程安全 ZoneId: 时区ID,用来确定Instant和LocalDateTime互相

PHP用strtotime()函数比较两个时间的大小实例详解

在PHP开发中,我们经常会对两个时间的大小进行判断,但是,在PHP中,两个时间是不可以直接进行比较,因为时间是由年.月.日.时.分.秒组成的,所以,如果需要将两个时间进行比较的话,我们首先要做的就是将时间解析为时间戳的格式,这就要用到我们前面学习的利用strtotime()函数将日期和时间解析为UNIX时间戳的知识了,只有将时间转化为时间戳的格式,才能够进行比较.本章就给大家讲解一下,在PHP中,怎么比较两个时间的大小. 假如现在有两个时间: 2017-4-15 2018-4-15 我们首先就要