2017-03-08 5 views
1

私は客観的なcでHijriの日付形式を取得できません。私はhijriとして日付を表示するためのコードを下に追加したUIDatePickerを使用しています。iid Objective CのUIDatePickerからHijriの日付を取得できませんでしたか?

self.datepicker.datePickerMode = UIDatePickerModeDate; 
self.datepicker.calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierIslamic]; 

私はenter image description here

以下のようにピッカーを取得していますが、私はUIdatePikcerから日付を取得するときに私はイスラム暦の日付2017年8月3日としてではなく、日付を取得します。

私は以下のコードを使用して日付を文字列に変換しています。

-(NSString *)convertStringFromDate:(NSDate *)date 
{ 

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

    [dateFormatter setDateFormat:@"dd/MM/yyyy"]; 

    NSLog(@"date is %@",date); 
    NSString *dateString = [dateFormatter stringFromDate:date]; 
    return dateString; 
} 

どうすればこの問題を解決できますか教えてください。

答えて

4

NSDateオブジェクトは、日付を保持するオブジェクトですが、それを提示する方法がわからないオブジェクトは、ユーザーに提示されます。日付を保存する普遍的な方法を参照してください、それは午前/午後、24時間またはグレゴリオ暦を使用していません。

NSDateオブジェクトを印刷/ログすると、日付を表すシステムカレンダーが使用されます。

NSDateをフォーマットするには、NSDateFormatterを使用します。これにより、ユーザーは理解できるものに日付が変換されます。しかし、NSDateFormatterに日付をフォーマットする方法を伝えなければなりません。

忘れた部分はNSDateFormatterNSCalendarIdentifierIslamicカレンダーを使用するように指示することです。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init] ; 
dateFormatter.calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierIslamic]; 
[dateFormatter setDateFormat:@"dd/MM/yyyy"]; 


NSString *dateString = [dateFormatter stringFromDate:[NSDate date]]; 
NSLog(@"date is %@",dateString); 

これは今日の日付(2017年3月8日)

のために私に date is 10/06/1438を与えました
関連する問題