从NSDate获取日数 [英] Geting day number from NSDate

查看:116
本文介绍了从NSDate获取日数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要以 NSDate 作为数字来获得一周中的某一天。

I need to get the day of the week from an NSDate as a number.

如果今天是星期四,我应该得到数字4,如果星期五然后数字5.

For example, if today is Thursday I should get number 4, if Friday then number 5.

此功能是否已存在?

推荐答案

根据您的要求,以下代码为您今天即2012年12月13日星期四提供'4'

As per your requirement the following codes give you '4' for today i.e. Thursday 13 Dec 2012

NSMutableDictionary *weeks=[NSMutableDictionary new];
[weeks setObject:@"1" forKey:@"Monday"];
[weeks setObject:@"2" forKey:@"Tuesday"];
[weeks setObject:@"3" forKey:@"Wednesday"];
[weeks setObject:@"4" forKey:@"Thursday"];
[weeks setObject:@"5" forKey:@"Friday"];
[weeks setObject:@"6" forKey:@"Saturday"];
[weeks setObject:@"7" forKey:@"Sunday"];

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEEE"];

NSLog(@"%@",[weeks objectForKey:[dateFormatter stringFromDate:[NSDate date]]]);//gives you 4 for today i.e. Thursday 13 Dec 2012

有点棘手

NSCalendar *calender = [NSCalendar currentCalendar];
NSDateComponents *dateComponents = [calender components:NSWeekdayCalendarUnit fromDate:[NSDate date]];
NSInteger dayCount = [dateComponents weekday]-1;
if (dayCount==0) {//as sunday will become 0, you need 7.
    dayCount=7;
}
NSLog(@"Day count : %ld",dayCount);

这篇关于从NSDate获取日数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆