无法从ios目标C中的UIDatePicker获取Hijri日期?
我无法在objective c中获取Hijri日期格式。我使用了UIDatePicker,在其上添加了以下代码,用于将日期显示为Hijri无法从ios目标C中的UIDatePicker获取Hijri日期?,ios,objective-c,xcode,Ios,Objective C,Xcode,我无法在objective c中获取Hijri日期格式。我使用了UIDatePicker,在其上添加了以下代码,用于将日期显示为Hijri self.datepicker.datePickerMode = UIDatePickerModeDate; self.datepicker.calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierIslamic]; 我得到的选择器如下 但当我从UIdatePikcer获得日期时,
self.datepicker.datePickerMode = UIDatePickerModeDate;
self.datepicker.calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierIslamic];
我得到的选择器如下
但当我从UIdatePikcer获得日期时,我得到的日期是2017年3月8日,而不是hijri日期
我使用下面的代码将日期转换为字符串
-(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;
}
请告诉我如何解决此问题?NSDate对象是一个包含日期但不知道如何显示日期的对象,它将显示给用户。将其视为存储日期的通用方式,它不使用上午/下午、24小时或公历
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);
打印/记录NSDate对象时,它将使用系统日历来表示日期
要格式化NSDate,请使用NSDateFormatter,它将日期转换为用户能够理解的内容。但是您必须告诉NSDateFormatter如何格式化日期
您忘记的部分是告诉NSDateFormatter使用NSCalendarIdentifierIslamic日历
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日,这个给我的日期是1438年6月10日NSDate对象是一个包含日期但不知道如何显示的对象,它将显示给用户。将其视为存储日期的通用方式,它不使用上午/下午、24小时或公历
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);
打印/记录NSDate对象时,它将使用系统日历来表示日期
要格式化NSDate,请使用NSDateFormatter,它将日期转换为用户能够理解的内容。但是您必须告诉NSDateFormatter如何格式化日期
您忘记的部分是告诉NSDateFormatter使用NSCalendarIdentifierIslamic日历
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日,给我的日期是1438年6月10日