2012-02-02 23 views
4

クイック質問、私は1ヶ月間のリスト、例えば "Jan" "Feb" "Mar" "Apr" ...などに1,2,3,4 ...などに変換したいこれを行うための簡単なコードを書いていますが、誰でもAPIを使用してこれを行う方法を知っていれば興味があります。月名から月番号を取得しますか?

+2

フランス語4月に日本語やアラビア語はもちろんのこと、のAvrだろうことを考えると、私はあなたがこの問題のローカライズの問題を過小評価していると思います。) – Kheldar

+0

私は既存のデータテーブルを読み込んでいるだけなので、月は常に英語の "Jan" "Feb" "Mar" ...形式になりますが、データがどこにあるかに応じてから来る。 – fuzzygoat

答えて

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を参照してください。

+0

ありがとうございます。 – fuzzygoat

2

NSDateComponentsクラスを参照してください。それはあなたが使用したいと考えるかもしれないクラスでしょう。

+0

NSDateとNSCalendarをチェックしていただきありがとうございます。ありがとうございます。 – fuzzygoat

2

番号を取得する最も簡単な方法は、月のリストが注文された場合という、インデックスを取得することです:

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

これ以上の直接的なものは何もありません。あなたが使用することができスウィフトユーザにとって

+0

良い点は、私は確かに配列を作成し、それを使って月のインデックスを調べることができました。いい素早いアイデア、ありがとう。 – fuzzygoat

+0

私は今、好奇心が強いです、あなたが思いついた解決策は何ですか。 –

0

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

関連する問題