gpt4 book ai didi

ios - 如何以特定格式获取一年中的所有月份

转载 作者:可可西里 更新时间:2023-11-01 06:19:13 29 4
gpt4 key购买 nike

如何以这种特定格式“2013 年 1 月”等格式在 TableView 中获取一年中的所有月份。我还需要设置开始月份。下面是我试过的代码。

int mCurrentMonth = [dateComponents month];
int mCurrentYear = [dateComponents year];

NSString * dateString = [NSString stringWithFormat: @"%d",mCurrentMonth];

NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM"];
NSDate* myDate = [dateFormatter dateFromString:dateString];

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MMMM"];
NSString *stringFromDate = [formatter stringFromDate:myDate];
NSString *mon = [NSString stringWithFormat:@"%@ %d",stringFromDate, mCurrentYear];
NSLog(@"month:%@", mon);

以上代码仅以所需格式提供当前月份。我试过的其他方法是这个

NSDateFormatter *df = [[NSDateFormatter alloc] init];

for (int i = 0; i < 12; i++){
NSString *monthName = [[df monthSymbols] objectAtIndex:i];
NSLog(@"months name:%@", monthName);
}

这样我就得到了所有月份的名称,但没有年份。我不知道如何实现 2013 年 1 月、2013 年 2 月等的预期输出。

最佳答案

试试这个:

  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++)
NSLog(@"%@ %i",[[dateFormatter monthSymbols]objectAtIndex: months],currentYear);

输出将是:

2013 年 1 月

2013 年 2 月

2013 年 3 月

2013 年 4 月

2013 年 5 月

2013 年 6 月

2013 年 7 月

2013 年 8 月

2013 年 9 月

2013 年 10 月

2013 年 11 月

2013 年 12 月

编辑:对于当月的以上输出使用以下代码:

 NSDateFormatter  *dateFormatter   = [[NSDateFormatter alloc] init];

NSDate *today = [NSDate date];
NSCalendar *currentCalendar = [NSCalendar currentCalendar];
NSDateComponents *yearComponents = [currentCalendar components:NSYearCalendarUnit | NSMonthCalendarUnit fromDate:today];
int currentYear = [yearComponents year];
int currentmonth=[yearComponents month];
NSLog(@"current Month %d",currentmonth);
for(int months = currentmonth - 1; months < 12; months++)
NSLog(@"%@ %i",[[dateFormatter monthSymbols]objectAtIndex: months],currentYear);

关于ios - 如何以特定格式获取一年中的所有月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17462591/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com