把玩一下 NSCalendar ,發現他可以計算咱們華人常用的農曆日期耶!完整文件 iOS Developer Library - Date and Time Programming Guide。
程式碼:
NSString *dateAt = @"2013/06/08";
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"yyyy/MM/dd"];
NSDateComponents *dateComps = [[[[NSCalendar alloc] initWithCalendarIdentifier:NSChineseCalendar] autorelease] components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:[dateFormatter dateFromString:dateAt]];
NSLog(@"%@ => Chinese calendar date (Lunar): %0.2d/%0.2d", dateAt, [dateComps month], [dateComps day]);
結果:
2013/06/08 => Chinese calendar date (Lunar): 05/01
註:有的農民曆將 2013/06/08 定為農曆 04/30,故挑這天當做範例提醒算法的不同。
沒有留言:
張貼留言