【问题标题】:Check date if exist in this year or not in Objective c检查日期是否存在于目标 c 中
【发布时间】:2016-01-29 07:30:06
【问题描述】:

我在谷歌上搜索并找到了许多比较 2 个日期的链接,但我的情况有点不同,我无法在谷歌中找到。我想比较日期是否存在于今年。 我有这种格式的日期。 2016-01-20T06:19:27 所以如果低于当年,那么我将使用这种格式

[dateformat setDateFormat:@"dd MMM yyyy"];

如果今年存在,那么将使用

[dateformat setDateFormat:@"dd MMM"];

(删除年份),并且将来不会存在机会日期。 所以需要解决这个问题。

【问题讨论】:

    标签: ios objective-c xcode nsdateformatter date-format


    【解决方案1】:

    NSCalender 拥有非常强大的方法来进行任何类型的日期数学运算:

    NSString *dateString = @"2016-01-20T06:19:27";
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss";
    NSDate *date = [formatter dateFromString:dateString];
    BOOL isInCurrentYear = [[NSCalendar currentCalendar] compareDate:date toDate:[NSDate date] toUnitGranularity:NSCalendarUnitYear] == NSOrderedSame;
    formatter.dateFormat = isInCurrentYear ?  @"dd MMM" : @"dd MMM yyyy";
    NSString *formattedDateString = [formatter stringFromDate:date];
    

    【讨论】:

      【解决方案2】:
       NSString * date = [dictionary objectForKey:@"date"];
       NSDateFormatter *dateformat = [[NSDateFormatter alloc] init];
       [dateformat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
       NSDate *myDate = [dateformat dateFromString:date];
      
       [dateformat setDateFormat:@"yyyy"];
      
       NSString *strYear=[dateformat stringFromDate:myDate];
      
        if([strYear isEqualToString:[dateformat stringFromDate:[NSDate date]]){
           [dateformat setDateFormat:@"dd MMM yyyy"];
           NSString *strDate=[dateformat stringFromDate:myDate];
           NSLog(@"%@",strDate);
        }
        else{
          [dateformat setDateFormat:@"dd MMM"];
          NSString *strDate=[dateformat stringFromDate:myDate];
          NSLog(@"%@",strDate);
        }
      

      【讨论】:

      • 我要试试这个,但你不认为应该从代码中获取 2015 年和 2016 年(从代码中获取当前年份而不是静态提及)吗?
      • 谢谢这个工作!!
      • 在 OR 下查看我的最终函数
      • 如果有效,则通过复选标记接受答案。所以它可以对其他人有所帮助。
      猜你喜欢
      • 2011-07-01
      • 1970-01-01
      • 2012-02-24
      • 1970-01-01
      • 2019-07-30
      • 1970-01-01
      • 1970-01-01
      • 2013-06-08
      • 2012-03-15
      相关资源
      最近更新 更多