how to use NSDateFormatter to see "Today" string

user301212 picture user301212 · Sep 8, 2013 · Viewed 7.1k times · Source

apple use it in the messages app for today messages Today 11:45 AM Yesterday 11:45 AM

i see it in the apple developer site

To specify a custom fixed format for a date formatter, you use setDateFormat:. The format string uses the format patterns from the Unicode Technical Standard #35. The version of the standard varies with release of the operating system:

Calendar Fields

fields ( alias | (field*, special*)) > field ( alias | (displayName?, relative*, special*)) >

Translations may be supplied for names of calendar fields (elements of a calendar, such as Day, Month, Year, Hour, and so on), and for relative values for those fields (for example, the day with relative value -1 is "Yesterday"). Where there is not a convenient, customary word or phrase in a particular language for a relative value, it should be omitted.

how to use it in Xcode?

Answer

Matthias Bauch picture Matthias Bauch · Sep 8, 2013

use – setDoesRelativeDateFormatting:

NSDateFormatter *dateFormatter = [NSDateFormatter new];

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

dateFormatter.doesRelativeDateFormatting = YES;

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

this logs Today, 11:30 AM on en_US locales.