ios - 如何在 Objective c 中获取当前月份的日期?

标签 ios objective-c nsdate nsdatecomponents

我正在开发一个使用日期、月份、年份的应用程序。我想要当前月份的日期,因为当前月份可以有 28、29、30、31 天。我试图获得当年的月份。但我不知道上面的代码。这是我的代码。

  NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSDate           *today           = [NSDate date];
NSCalendar       *currentCalendar = [NSCalendar currentCalendar];
NSDateComponents *yearComponents  = [currentCalendar components:NSYearCalendarUnit  fromDate:today];
int currentYear  = [yearComponents year];
for(int months = 0; months < 12; months++)
{
    NSString *monthName = [NSString stringWithFormat:@"%@ %i",[[dateFormatter monthSymbols]objectAtIndex: months],currentYear];
    NSLog(@"%@ %i",[[dateFormatter monthSymbols]objectAtIndex: months],currentYear);
    [monthArray addObject:monthName];
}

最佳答案

为了得到一天,你可以使用 NSDateComponents

NSDate *date = [NSDate date];
NSCalendar *gregorian = [NSCalendar currentCalendar];
NSDateComponents *dateComponents = [gregorian components:(NSDayCalendarUnit|NSMonthCalendarUnit|NSYearCalendarUnit) fromDate:date];
NSInteger day = [dateComponents day];

您可以根据需要添加更多组件单位,例如:NSMonthCalendarUnit,NSWeekdayCalendarUnit,NSYearCalendarUnit

关于ios - 如何在 Objective c 中获取当前月份的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19675848/

相关文章:

iphone - 有什么方法可以获取 iPhone 用户的姓名?

ios 获得今天凌晨 12 点

ios - SceneKit - 几何渗透

iphone - 如何仅在 iOS 5 上执行代码而不破坏应用程序

iphone - 如何使用界面生成器构建长界面

ios - Objective-C - 移动 UITabBar

objective-c - 在某些情况下将 NSString 转换为 NSDate 会增加一年

objective-c - 如果时间为零,如何使 NSDateFormatter 不包括时间?

objective-c - const 全局字符串文字已损坏

ios - 模糊效果 - 背景 UITextField