More Dates with iOS
2nd December, 2011 10:11 AMI've been doing more iOS coding using Dates in various formats and hence I decided to add this post about it.
Generally, you'll grab a date using the following:-
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateStyle:NSDateFormatterMediumStyle]; [dateFormatter setTimeStyle:NSDateFormatterShortStyle]; NSLog(@"%@", [dateFormatter stringFromDate:[NSDate date]]); [dateFormatter release]; // Output: Dec 2, 2011 10:11 AM
But say you just want the time ...
[dateFormatter setDateFormat:@"hh:mm:ss"] // Output: 10:11:23
Now, let's say your want to specify something different. Well I couldn't find anything on the official Apple site about it, but I did find them listed on a blog, so I thought I'd reproduce them here:-
a: AM/PM A: 0~86399999 (Millisecond of Day) c/cc: 1~7 (Day of Week) ccc: Sun/Mon/Tue/Wed/Thu/Fri/Sat cccc: Sunday/Monday/Tuesday/Wednesday/Thursday/Friday/Saturday d: 1~31 (0 padded Day of Month) D: 1~366 (0 padded Day of Year) e: 1~7 (0 padded Day of Week) E~EEE: Sun/Mon/Tue/Wed/Thu/Fri/Sat EEEE: Sunday/Monday/Tuesday/Wednesday/Thursday/Friday/Saturday F: 1~5 (0 padded Week of Month, first day of week = Monday) g: Julian Day Number (number of days since 4713 BC January 1) G~GGG: BC/AD (Era Designator Abbreviated) GGGG: Before Christ/Anno Domini h: 1~12 (0 padded Hour (12hr)) H: 0~23 (0 padded Hour (24hr)) k: 1~24 (0 padded Hour (24hr) K: 0~11 (0 padded Hour (12hr)) L/LL: 1~12 (0 padded Month) LLL: Jan/Feb/Mar/Apr/May/Jun/Jul/Aug/Sep/Oct/Nov/Dec LLLL: January/February/March/April/May/June/July/August/September/October/November/December m: 0~59 (0 padded Minute) M/MM: 1~12 (0 padded Month) MMM: Jan/Feb/Mar/Apr/May/Jun/Jul/Aug/Sep/Oct/Nov/Dec MMMM: January/February/March/April/May/June/July/August/September/October/November/December q/qq: 1~4 (0 padded Quarter) qqq: Q1/Q2/Q3/Q4 qqqq: 1st quarter/2nd quarter/3rd quarter/4th quarter Q/QQ: 1~4 (0 padded Quarter) QQQ: Q1/Q2/Q3/Q4 QQQQ: 1st quarter/2nd quarter/3rd quarter/4th quarter s: 0~59 (0 padded Second) S: (rounded Sub-Second) u: (0 padded Year) v~vvv: (General GMT Timezone Abbreviation) vvvv: (General GMT Timezone Name) w: 1~53 (0 padded Week of Year, 1st day of week = Sunday, NB: 1st week of year starts from the last Sunday of last year) W: 1~5 (0 padded Week of Month, 1st day of week = Sunday) y/yyyy: (Full Year) yy/yyy: (2 Digits Year) Y/YYYY: (Full Year, starting from the Sunday of the 1st week of year) YY/YYY: (2 Digits Year, starting from the Sunday of the 1st week of year) z~zzz: (Specific GMT Timezone Abbreviation) zzzz: (Specific GMT Timezone Name) Z: +0000 (RFC 822 Timezone)
The WWDC 2011 Session videos are now available via iTunes.