繁体   English   中英

无法从ios目标C中的UIDatePicker获取回历日期?

[英]Unable to get Hijri date from the UIDatePicker in ios Objective C?

我无法在目标c中获得Hijri日期格式,我使用了UIDatePicker,在上面添加了以下代码以将日期显示为hijri。

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

我得到如下的选择器 在此处输入图片说明

但是当我从UIdatePikcer获得日期时,我得到的日期为08/03/2017但没有为回历日期。

我正在使用下面的代码将日期转换为字符串。

-(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对象是一个保存日期但不知道如何显示日期的对象,该日期将呈现给用户。 看到它是一种通用的日期存储方式,它不使用AM / PM,24小时或公历。

当您打印/记录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);

date is 10/06/1438今天的日期(2017年3月8日), date is 10/06/1438

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM