NSDate--查询某天是星期几

  • 查询某天是星期几
- (NSString*)weekdayStringFromDate:(NSString*)inputDateStr {
    NSArray *weekdays = [NSArray arrayWithObjects: [NSNull null], @"星期天", @"星期一", @"星期二", @"星期三", @"星期四", @"星期五", @"星期六", nil];
    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
    NSTimeZone *timeZone = [[NSTimeZone alloc] initWithName:@"Asia/Shanghai"];
    [calendar setTimeZone: timeZone];
    NSCalendarUnit calendarUnit = NSCalendarUnitWeekday;
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";//日期格式化类
    NSDate *inputDate = [formatter dateFromString:inputDateStr];//转化为NSDate时间
    NSDateComponents *theComponents = [calendar components:calendarUnit fromDate:inputDate];
    return [weekdays objectAtIndex:theComponents.weekday];
}

  • 查询某天是今天,明天,还是后天
-(NSString *)compareDate:(NSString *)dateStr
{
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";//日期格式化类
    NSDate * date = [formatter dateFromString:dateStr];//转化为NSDate时间
    NSTimeInterval secondsPerDay = 24 * 60 * 60;
    NSDate *today = [[NSDate alloc] init];
    NSDate *tomorrow, *yesterday;
    tomorrow = [today dateByAddingTimeInterval: secondsPerDay];
    yesterday = [today dateByAddingTimeInterval: -secondsPerDay];
    // 10 first characters of description is the calendar date:
    NSString * todayString = [[today description] substringToIndex:10];
    NSString * yesterdayString = [[yesterday description] substringToIndex:10];
    NSString * tomorrowString = [[tomorrow description] substringToIndex:10];
    NSString * dateString = [[date description] substringToIndex:10];
    if ([dateString isEqualToString:todayString])
    {
        return @"今天";
    } else if ([dateString isEqualToString:yesterdayString])
    {
        return @"昨天";
    }else if ([dateString isEqualToString:tomorrowString])
    {
        return @"明天";
    }
    else
    {
        return dateString;
    }
}

  • 比较两个时间谁早谁晚
//比较两个时间
-(NSInteger)compareFirstTime:(NSString *)firstTime WithSecondTime:(NSString *)secondTime WithDateFormat:(NSString *)dateFormat
{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:dateFormat];
    NSDate *dateA = [dateFormatter dateFromString:firstTime];
    NSDate *dateB = [dateFormatter dateFromString:secondTime];
    NSComparisonResult result = [dateA compare:dateB];
    if (result == NSOrderedDescending)
    {
        //NSLog(@"firstTime比 secondTime时间晚");
        return 1;
    }
    else if (result == NSOrderedAscending)
    {
        //NSLog(@"firstTime比 firstTime时间早");
        return -1;
    }
    else
    {
        //NSLog(@"两者时间是同一个时间");
        return 0;
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 2018.01.11日 星期四 晴 今天是特种兵第四天啦,第一天有点云里雾里,第二天第三天很轻松,但是今天的课...
    赵连竹阅读 171评论 0 0
  • “每天清晨都有一个早起的机会摆在我眼前,可是我没有清醒,等到失去了才后悔莫及。可是,这件事情你再给万次机会,或许我...
    路Promenade阅读 817评论 1 2

友情链接更多精彩内容