从月份名称获取月份数?

问题描述 投票:4回答:5

快速问题,我有一个月份的名单,即“Jan”“Feb”“Mar”“Apr”......等我想转换成1,2,3,4 ...等我写的一些简单的代码可以做到这一点,但只是好奇,如果有人知道使用任何API这样做的方法。

iphone objective-c cocoa-touch
5个回答
13
投票

快速回答:

NSDateFormatter* formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateFormat:@"MMM"];
NSDate *aDate = [formatter dateFromString:@"Jul"];
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSMonthCalendarUnit fromDate:aDate];
NSLog(@"Month: %i", [components month]); /* => 7 */

date formatters


2
投票

查看NSDateComponents类参考。那将是您可能想要考虑使用的课程。


2
投票

获取数字的最简单方法是获取索引,如果订购月份列表:

NSLog(@"The number of the month is: %d.",[listOfMonths indexOfObject:@"Jan"]+1);

没有什么比这更直接了。


0
投票

Swift 4,这对我来说很完美。

Calendar.current.component(.month, from: Date())
Calendar.current.component(.day, from: Date())

0
投票

对于Swift用户,您可以使用:

Calendar.current.component(.month, from: date)
Calendar.current.component(.day, from: date)
© www.soinside.com 2019 - 2024. All rights reserved.