iOS 时间(年月日)大小的比较的例子

一般说到比较大小,我们都会想到比较两个数字的大小,但是如果让你比较两个日期的大小呢,如:比较2016-07-21和2016-08-20的大小,NSDate之间的比较有compare来实现,整理方法,代码如下:

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd"];
    NSDate *date1 = [dateFormatter dateFromString:@"2016-07-21"];
    NSDate *date2 = [dateFormatter dateFromString:@"2016-08-20"];
    if ([[NSString stringWithFormat:@"%d",[self compareOneDay:date1 withAnotherDay:date2]] isEqualToString:@"1"]) {
        NSLog(@"date1 > date2");
    }else if ([[NSString stringWithFormat:@"%d",[self compareOneDay:date1 withAnotherDay:date2]] isEqualToString:@"-1"]){
        NSLog(@"date1 < date2");
    }else{
        NSLog(@"date1 = date2");
    }
}
 
#pragma mark - 时间比较大小
- (int)compareOneDay:(NSDate *)oneDay withAnotherDay:(NSDate *)anotherDay
{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"dd-MM-yyyy"];
    NSString *oneDayStr = [dateFormatter stringFromDate:oneDay];
    NSString *anotherDayStr = [dateFormatter stringFromDate:anotherDay];
    NSDate *dateA = [dateFormatter dateFromString:oneDayStr];
    NSDate *dateB = [dateFormatter dateFromString:anotherDayStr];
    NSComparisonResult result = [dateA compare:dateB];
    NSLog(@"oneDay : %@, anotherDay : %@", oneDay, anotherDay);
    if (result == NSOrderedDescending) {
        //oneDay > anotherDay
        return 1;
    }
    else if (result == NSOrderedAscending){
        //oneDay < anotherDay
        return -1;
    }
    //oneDay = anotherDay
    return 0;
}
打印:
2016-08-20 09:41:04.061 CompareDateTime[16742:676557] date1 : 2016-07-20 16:00:00 +0000, date2 : 2016-08-19 16:00:00 +0000
2016-08-20 09:41:04.062 CompareDateTime[16742:676557] date1 < date2

时间: 2024-09-28 20:34:33

iOS 时间(年月日)大小的比较的例子的相关文章

Lua时间转化的几个小例子

  这篇文章主要介绍了Lua时间转化的几个小例子,本文直接给出3段例子代码,需要的朋友可以参考下 1.把时间 秒,转化为xx天xx时xx分xx秒 的形式 代码如下: --把时间 秒,转化为xx天xx时xx分xx秒 的形式 function convertTimeForm(second) local timeDay = math.floor(second/86400) local timeHour = math.fmod(math.floor(second/3600), 24) local tim

php文件管理,可以点击按照时间,大小,名称排序

php文件管理,可以点击按照时间,大小,名称排序本例没有用到jquery 演示PHP Code <?php $rootdir="./"; $spacenum=0; $filenum=0; $allfilesize=0; echo " 文件管理freejs.net测试 "; echo "重置"; readLogDir($rootdir); echo " "; echo "Total files count: $f

Jquery时间验证和转换工具小例子

这篇文章介绍了Jquery时间验证和转换工具小例子,有需要的朋友可以参考一下   复制代码 代码如下: var TimeObjectUtil; /** * @title 时间工具类 * @note 本类一律违规验证返回false * @author {boonyachengdu@gmail.com} * @date 2013-07-01 * @formatter "2013-07-01 00:00:00" , "2013-07-01" */ TimeObjectUt

jqueryeasyui的datetimebox验证两个时间的大小

问题描述 jqueryeasyui的datetimebox验证两个时间的大小 用自带的validatebox.怎么验证两个时间的大小.即:$.extend($.fn.validatebox.defaults.rules { }. 解决方案 参考 EasyUI validate $.extend($.fn.validatebox.defaults.rules { compareDate: { validator: function (value param) { return dateCompar

objective c-关于ios时间转换的问题

问题描述 关于ios时间转换的问题 我想把小时.分.秒转换为秒的形式.请介绍一个方法能实现,多谢. NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSDateComponents *componentsDiff = [gregorianCalendar components:NSHourCalendarUnit fromDate:[NSDat

麻烦问下 angularJS 如何比较两个日期时间的大小??

问题描述 麻烦问下 angularJS 如何比较两个日期时间的大小?? 麻烦问下 angularJS 如何比较两个日期时间的大小?? 解决方案 http://download.csdn.net/detail/wxd83210/4506200 解决方案二: 比较日期....那你的日式日什么格式的?Date对象还是字符串 ,date对象调用getTimes方法就可以获得一个number值,直接比较就好了,如果是字符串,那么是否可以转换为Date对象呢? 解决方案三: PHP中比较两个时间的大小与日期

Linux下按照时间和大小生成新文件的程序流程及其C代码实现

一.概述 在实际的软件开发项目中,会出现按照时间和大小生成新文件的需求.例如,某软件需求的描述如下: 按照如下两个条件之一生成新的文件: 第一,新的一天到来. 第二,文件的大小超过阈值. 本文详细介绍了根据时间和大小生成新文件的程序流程,并给出了C程序实现. 二.算法设计 对于这个按照不同的条件生成新文件的需求,在编写代码之前,我们要认真考虑以下问题: 1.如何知道当前写文件的时间与上次时间相比,是新的一天? 对于这个问题,最简单的做法是将上次写完文件之后的时间保存在内存中,等下次写文件之前读取

PHP中比较两个时间的大小与日期的差值

在这里我们全用到时间戳 mktime(hour,minute,second,month,day,year,[is_dst])     其参数可以从右向左省略,任何省略的参数都会被设置成本地日期和时间的当前值.     参数 描述 hour 可选.规定小时. minute 可选.规定分钟. second 可选.规定秒. month 可选.规定用数字表示的月. day 可选.规定天. year 可选.规定年.在某些系统上,合法值介于 1901 – 2038 之间.不过在 php教程 5 中已经不存在

iOS 改变UISwitch大小的例子详解

UISwitch如果放置在一个UIView里,那么它就会根据父控件UIView固定好大小,不管你怎么设置UISwitch的frame都改变不了它的大小,解决的办法如下: - (void)viewDidLoad {     [super viewDidLoad];     // Do any additional setup after loading the view.          self.view.backgroundColor = [UIColor grayColor];     U