Nsstring * datestr = [DIC
Objectforkey: @ "date"]; // 2012-05-17 11:23:23
Nscalendar * Gregorian = [[nscalendar
Alloc]
Initwithcalendaridentifier: nsgregoriancalendar];
Nsuinteger unitflags =
Nsmonthcalendarunit | nsdaycalendarunit;
Nsdateformatter * format = [[nsdateformatter
Alloc]
Init];
[Format
Setdateformat: @ "yyyy-mm-dd hh: mm: SS"];
Nsdate * fromdate = [format datefromstring: datestr];
Nstimezone * fromzone = [nstimezone
Systemtimezone];
Nsinteger frominterval = [fromzone secondsfromgmtfordate: fromdate];
Nsdate * fromdate = [fromdate datebyaddingtimeinterval: frominterval];
Nslog (@ "fromdate = % @", fromdate );
[Format
Release];
Nsdate * Date = [nsdate
DATE];
Nstimezone * zone = [nstimezone
Systemtimezone];
Nsinteger interval = [zone secondsfromgmtfordate: date];
Nsdate * localedate = [date datebyaddingtimeinterval: interval];
Nslog (@ "enddate = % @", localedate );
Nsdatecomponents * components = [Gregorian components: unitflags
Fromdate: fromdate
Todate: localedate options: 0];
Nsinteger months = [components month];
Nsinteger days = [components Day]; // year [components year]
Nslog (@ "month = % d", months );
Nslog (@ "days = % d", days );
[Gregorian
Release];
If (months = 0 & days = 0 ){
Datestr = [[datestr
Substringfromindex: 11] substringtoindex: 5];
Cell. textlabel. Text = [nsstring
Stringwithformat: @ "today % @", datestr]; // Today
} Else
If (months = 0 & days = 1 ){
Datestr = [[datestr
Substringfromindex: 11] substringtoindex: 5];
Cell. textlabel. Text = [nsstring
Stringwithformat: @ "Yesterday % @", datestr]; // Yesterday
} Else {
Datestr = [datestr
Substringtoindex: 10];
Cell. textlabel. Text = datestr;
}