时间格式NSDateFormatter

2016-11-17  本文已影响0人  无所待

NSDateFormatter

格式化日期字符串,copy一份常用参数:

a: AM/PM (上午/下午)

A: 0~86399999 (一天的第A微秒)

c/cc: 1~7 (一周的第一天, 周天为1)

ccc: Sun/Mon/Tue/Wed/Thu/Fri/Sat (星期几简写)

cccc: Sunday/Monday/Tuesday/Wednesday/Thursday/Friday/Saturday (星期几全拼)

d: 1~31 (月份的第几天, 带0)

D: 1~366 (年份的第几天,带0)

e: 1~7 (一周的第几天, 带0)

E~EEE: Sun/Mon/Tue/Wed/Thu/Fri/Sat (星期几简写)

EEEE: Sunday/Monday/Tuesday/Wednesday/Thursday/Friday/Saturday (星期几全拼)

F: 1~5 (每月的第几周, 一周的第一天为周一)

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)) 带0的时, 12小时制

H: 0~23 (0 padded Hour (24hr))  带0的时, 24小时制

k: 1~24 (0 padded Hour (24hr) 带0的时, 24小时制

K: 0~11 (0 padded Hour (12hr)) 带0的时, 12小时制

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) 常规GMT时区的编写

vvvv: (General GMT Timezone Name) 常规GMT时区的名称

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)  2个数字的年份

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) 指定GMT时区的编写

zzzz: (Specific GMT Timezone Name) Z: +0000 (RFC 822 Timezone) 指定GMT时区的名称

实例:

http://blog.sina.com.cn/s/blog_60b45f230100i0r9.html

NSDateFormatter * dateFormatter = [[[NSDateFormatter alloc] init]autorelease];

[dateFormatter setAMSymbol:@"AM"];

[dateFormatter setPMSymbol:@"PM"];

[dateFormatter setDateFormat:@"dd/MM/yyyy hh:mmaaa"];

NSDate *date = [NSDate date];

NSString * s = [dateFormatter stringFromDate:date];

显示效果为:10/05/2010 03:49PM

下面附上几个格式:这个是从Cocoachina上来的。呵呵。

yyyy:MM:dd G 'at' HH:mm:ss zzz            1996.07.10 AD at 15:08:56 PDT

EEE, MMM d, "yy                                         Wed,july 10, '99

h:mm a                                                     12:08 PM

hh 'o"clock' a,zzzz                                      12 o'clock PM, Pacific Daylight Time

K:mm a, z                                                 0:00 PM, PST

yyyyy,MMMM.dd GGG hh:mm aaa                01996.july.10 AD 12:08 PM

下面是得到当前的年,月,日,时,分,秒。

NSCalendar *cal = [NSCalendar currentCalendar];

unsigned int unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;

NSDateComponents *dd = [cal components:unitFlags fromDate:date];

int y = [dd year];

int m = [dd month];

int d = [dd day];

int h = [dd hour];

int m = [dd minute];

int s = [dd second];

上一篇下一篇

猜你喜欢

热点阅读