簡體   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