Как указать формат NSDate в приложении для Iphone?

#iphone #nsdateformatter

#iPhone #nsdateformatter

Вопрос:

Я пытаюсь создать формат даты таким образом, часы.минуты день / месяц / год

Я использовал этот код :

 NSDateFormatter *formatter =[[NSDateFormatter alloc] init];

NSDate *dateAndtime = [NSDate date];

[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateStyle:NSDateFormatterShortStyle];
//[formatter setTimeStyle:NSDateFormatterShortStyle];

NSString* dateforBD=[[NSString alloc]init];
dateforBD =[formatter stringFromDate:dateAndtime];
  

Но этот код не дает мне мой формат.

Также я пробовал этот код:

 NSLocale *locale = [NSLocale currentLocale];
NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease]; 
NSString *dateFormat = [NSDateFormatter dateFormatFromTemplate:@"E MMM d yyyy" 
                        options:0 locale:locale];

[formatter setDateFormat:dateFormat];
[formatter setLocale:locale];
  

Это также дает мне другой формат. Как я могу добиться требуемого формата средствами 13.10 21/4/2011

Все форматы возвращаются за месяц до даты. Возможно, я использовал неправильный способ для этого?

Заранее спасибо.

Ответ №1:

      NSDate *today = [NSDate date];
     NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
     [dateFormat setDateFormat:@"MM/dd/yyyy hh:mma"];
     NSString *dateString = [dateFormat stringFromDate:today];
     NSLog(@"date: %@", dateString);
     [dateFormat release];
  

Чтобы узнать больше, посетитеhttp://www.stepcase.com/blog/2008/12/02/format-string-for-the-iphone-nsdateformatter /

Надеюсь, это поможет.

Комментарии:

1. Привет, Дженнис. После некоторой модификации он хорошо работает для меня с моим требуемым форматом. Спасибо за быстрый ответ.

Ответ №2:

для использования даты до месяца —

 [dateFormat setDateFormat:@"dd/MM/yyyy hh:mm"];
  

Ответ №3:

Как указано в ссылке Apple на NSDateFormatter, NSDateFormatter использует шаблоны формата даты в Юникоде.

В соответствии с шаблонами Unicode, вам потребуется следующий шаблон для достижения «13.10 21/4/2011«:

 hh:mm dd/MM/yyyy
  

Итак, вы бы использовали этот код:

 NSDate *dateAndtime = [NSDate date];

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

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

NSString *newlyFormattedDateString = [dateFormatter stringFromDate:dateAndtime];
  

Комментарии:

1. Привет, Бен, я изменил код Jennis таким же образом, и у меня это работает. Спасибо за ответ.