Monday, April 16, 2012

String Format Specifiers - Objective C

Specifier
Description
%@Objective-C object, printed as the string returned by descriptionWithLocale: if available, or descriptionotherwise. Also works with CFTypeRef objects, returning the result of the CFCopyDescription function.
%%'%' character
%d%D,%iSigned 32-bit integer (int)
%u%UUnsigned 32-bit integer (unsigned int)
%hiSigned 16-bit integer (short)
%huUnsigned 16-bit integer (unsigned short)
%qiSigned 64-bit integer (long long)
%quUnsigned 64-bit integer (unsigned long long)
%xUnsigned 32-bit integer (unsigned int), printed in hexadecimal using the digits 0–9 and lowercase a–f
%XUnsigned 32-bit integer (unsigned int), printed in hexadecimal using the digits 0–9 and uppercase A–F
%qxUnsigned 64-bit integer (unsigned long long), printed in hexadecimal using the digits 0–9 and lowercase a–f
%qXUnsigned 64-bit integer (unsigned long long), printed in hexadecimal using the digits 0–9 and uppercase A–F
%o%OUnsigned 32-bit integer (unsigned int), printed in octal
%f64-bit floating-point number (double)
%e64-bit floating-point number (double), printed in scientific notation using a lowercase e to introduce the exponent
%E64-bit floating-point number (double), printed in scientific notation using an uppercase E to introduce the exponent
%g64-bit floating-point number (double), printed in the style of %e if the exponent is less than –4 or greater than or equal to the precision, in the style of %f otherwise
%G64-bit floating-point number (double), printed in the style of %E if the exponent is less than –4 or greater than or equal to the precision, in the style of %f otherwise
%c8-bit unsigned character (unsigned char), printed by NSLog() as an ASCII character, or, if not an ASCII character, in the octal format \\ddd or the Unicode hexadecimal format \\udddd, where d is a digit
%C16-bit Unicode character (unichar), printed by NSLog() as an ASCII character, or, if not an ASCII character, in the octal format \\ddd or the Unicode hexadecimal format \\udddd, where d is a digit
%sNull-terminated array of 8-bit unsigned characters. %s interprets its input in the system encoding rather than, for example, UTF-8.
%SNull-terminated array of 16-bit Unicode characters
%pVoid pointer (void *), printed in hexadecimal with the digits 0–9 and lowercase a–f, with a leading 0x
%LLength modifier specifying that a following aAeEfFg, or G conversion specifier applies to a long doubleargument
%a64-bit floating-point number (double), printed in scientific notation with a leading 0x and one hexadecimal digit before the decimal point using a lowercase p to introduce the exponent
%A64-bit floating-point number (double), printed in scientific notation with a leading 0X and one hexadecimal digit before the decimal point using a uppercase P to introduce the exponent
%F64-bit floating-point number (double), printed in decimal notation
%zLength modifier specifying that a following dioux, or X conversion specifier applies to a size_t or the corresponding signed integer type argument
%tLength modifier specifying that a following dioux, or X conversion specifier applies to a ptrdiff_t or the corresponding unsigned integer type argument
%jLength modifier specifying that a following dioux, or X conversion specifier applies to a intmax_t oruintmax_t argument

Monday, April 9, 2012

NSDateFormatter Specifiers - iOS SDK

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)