#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 таким же образом, и у меня это работает. Спасибо за ответ.