Подтвердить что ты не робот

Как использовать NSDateFormatter, чтобы увидеть строку "Сегодня"

apple использует его в приложении сообщений для сегодняшних сообщений Сегодня 11:45 Вчера 11:45

Я вижу его на сайте разработчика Apple.

Чтобы указать произвольный фиксированный формат для форматирования даты, вы используете setDateFormat:. Строка формата использует шаблоны формата из Технический стандарт Unicode № 35. Версия стандарта варьируется с выпуском операционной системы:

Календарные поля

(псевдоним | (поле *, специальный *)) > поле (псевдоним | (displayName?,) относительный *, специальный *)) >

Переводы могут предоставляться для имен полей календаря (элементов календарь, такой как День, Месяц, Год, Час и т.д.) и для относительные значения для этих полей (например, день с относительным Значение -1 - "Вчера" ). Там, где нет удобного, обычного слова или фразы на определенном языке для относительной ценности, это следует опустить.

как использовать его в Xcode?

4b9b3361

Ответ 1

использовать – setDoesRelativeDateFormatting:

NSDateFormatter *dateFormatter = [NSDateFormatter new];

dateFormatter.dateStyle = NSDateFormatterShortStyle;
dateFormatter.timeStyle = NSDateFormatterShortStyle;

dateFormatter.doesRelativeDateFormatting = YES;

NSLog(@"%@", [dateFormatter stringFromDate:[NSDate date]]);

этот журнал Today, 11:30 AM на локалях en_US.

Ответ 2

Чтобы получить имя дня, вы можете просто использовать NSDateFormatter таким образом:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEEE"];
NSString *dayName = [dateFormatter stringFromDate:yourDate];

поэтому формат даты: "EEEE".