簡體   English   中英

使用objective-c獲取任何月份的所有日子

[英]Get all days of any month with objective-c

一個看似簡單的問題......我怎樣才能返回任何指定月份的天數列表?

NSDate *today = [NSDate date]; //Get a date object for today's date
NSCalendar *c = [NSCalendar currentCalendar];
NSRange days = [c rangeOfUnit:NSDayCalendarUnit 
                       inUnit:NSMonthCalendarUnit 
                      forDate:today];

我基本上想要使用它,但today用1月份代替,所以我可以返回所有那些日子

Carl的回答適用於Mac。 以下適用於Mac或iPhone(沒有dateWithNaturalLanguageString:在那里可用)。

NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [[[NSDateComponents alloc] init] autorelease];

// Set your year and month here
[components setYear:2015];
[components setMonth:1];

NSDate *date = [calendar dateFromComponents:components];
NSRange range = [calendar rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:date];

NSLog(@"%d", (int)range.length);

您可以使用幾乎任何字符串來創建日期:

NSDate *date = [NSDate dateWithNaturalLanguageString:@"January"];

然后,您的其余代碼將按原樣運行,以返回NSRange的1月份天數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM