从月份名称获取月份数?

时间:2012-02-02 15:20:24

标签: iphone objective-c cocoa-touch

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

5 个答案:

答案 0 :(得分: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

答案 1 :(得分:2)

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

答案 2 :(得分:2)

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

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

没有比此更直接的了。

答案 3 :(得分:0)

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

    int a=1;
    std::function<int (int, int)> getM = a?
    [](int x, int y) {
        return (x+y);
    } :
    [](int x, int y) {
        return (x*y);
    };


    cout<<getM(1,2);

答案 4 :(得分:0)

Swift 4,这对我非常有用。

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