내가 무슨 요일 (예 : 월요일, 금요일 ...) 특정 날짜 (예 : 6 월 27 일, 2009)코코아
을 알아 내려고 노력하고있어를 사용하여 특정 날짜에 대한 무슨 요일 찾는 방법 고맙습니다.
내가 무슨 요일 (예 : 월요일, 금요일 ...) 특정 날짜 (예 : 6 월 27 일, 2009)코코아
을 알아 내려고 노력하고있어를 사용하여 특정 날짜에 대한 무슨 요일 찾는 방법 고맙습니다.
NSCalendar 및 NSDateComponents를 사용하십시오. NSDateComponents 문서에 나타낸 바와 같이 :
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *date = [gregorian dateFromComponents:comps];
NSDateComponents *weekdayComponents = [gregorian components:NSWeekdayCalendarUnit fromDate:date];
int weekday = [weekdayComponents weekday];
"comps"는 어디에서 왔습니까? 또한, 기술적으로 @ThisThib는 -weekday가 NSInteger 값을 반환한다는 것이 맞습니다. 내가 아는 어떤 캘린더에서도 문제가되지 않아야한다. 그러나 정확성과 이식성의 이름으로 ...-) –
당신은있는 NSDate 및 NSCalendar 클래스에 모습을 가질 수있다. 예를 들어 , here 그리고 그들은 다음과 같은 코드를 제공
here :
NSDate *today = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *weekdayComponents =
[gregorian components:(NSDayCalendarUnit | NSWeekdayCalendarUnit) fromDate:today];
NSInteger day = [weekdayComponents day];
NSInteger weekday = [weekdayComponents weekday];
내가 해왔은 :
NSDateFormatter* theDateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[theDateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
[theDateFormatter setDateFormat:@"EEEE"];
NSString *weekDay = [theDateFormatter stringFromDate:[NSDate date]];
이 어떻게하면 좋겠시키는의 추가 보너스를 선택했다 반환되는 평일과 같이 (setDateFormat의 날짜 형식 문자열을 변경하여)
형성에 :
여기에 내가 의도 한대로 정확히 어떤 작품과 함께 상처거야. 그것은 날짜를 걸리는 월의 첫 번째가 될 날짜를 변경하고, 해당 날짜의 일 가져옵니다
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:date];
NSDateComponents *monthDateComponents = [[NSCalendar currentCalendar] components: NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear |
NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond fromDate: date];
// build date as start of month
monthDateComponents.year = components.year;
monthDateComponents.month = components.month;
monthDateComponents.day = 1;
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
// [gregorian setFirstWeekday:1];
NSDate *builtDate =[gregorian dateFromComponents: monthDateComponents];
// NSDateComponents *weekdayComponents =[gregorian components: NSCalendarUnitWeekday fromDate: builtDate];
NSDateFormatter *df = [NSDateFormatter new];
[df setDateFormat:@"E"];
NSString *firstDay = [df stringFromDate:builtDate];
if([firstDay isEqual:@"Sun"]) // do for the other 6 days as appropriate
return 7;
목표 - C와 코코아의 차이를 구별하기 위해 시도하십시오. 다른 하나없이 하나를 사용하는 것이 완벽하게 가능 합니다만, 날짜의 경우 나는 당신이 코코아에 대해 이야기하고 있다고 가정합니다. – dreamlax
그들은 별개의 엔티티이지만 Cocoa없이 Objective-C를 사용하는 것이 틀림없이 더 쉽습니다. Python에서 Cocoa를 사용한다고해도 클래스와 메서드 호출은 완전히 동일합니다. 또한 "objective-c"태그가 Java 또는 C#과 같이 활성화되어 있지 않으며이 태그를보고있는 모든 사용자는 Mac 또는 iPhone 프로그래밍에 관심이 있습니다. –
수정되지 않은 질문을 읽었습니까? 그것은 코코아에 대한 어떠한 언급도하지 않았으므로 편집과 논평을합니다. 사람들이 C++ 및 STL, C# 및 .NET 등으로 구분해야하는 것과 마찬가지로 구별을하는 것이 중요하다고 생각합니다. – dreamlax