日期處理
- NSString 與 NSDate 轉(zhuǎn)換
使用NSDateFormatter
日期格式說明: yy: 年的后2位
yyyy: 完整年
MM: 月,顯示為1-12
MMM: 月,顯示為英文月份簡寫,如 Jan
MMMM: 月,顯示為英文月份全稱,如 Janualy
dd: 日,2位數(shù)表示,如02
d: 日,1-2位顯示,如 2
EEE: 簡寫星期幾,如Sun EEEE: 全寫星期幾,如Sunday aa: 上下午,AM/PM H: 時(shí),24小時(shí)制,0-23 K:時(shí),12小時(shí)制,0-11 m: 分,1-2位
mm: 分,2位 s: 秒,1-2位 ss: 秒,2位 S: 毫秒
例如:2016-05-01 12:32:30 yyyy-MM-dd HH:mm:ss
NSDateFormatter *fm = [[NSDateFormatter alloc] init];
NSTimeZone *timeZone = [NSTimeZone localTimeZone];
[fm setTimeZone:timeZone];
//設(shè)置日期的轉(zhuǎn)換格式
[fm setDateFormat : @"yyyy-MM-dd HH:mm"];
NSDate *date = [fm dateFromString:];
NSString *string = [fm stringFromDate:];
- NSCalendar與NSDateComponents 用于日期的比較:
注意: calendarWithIdentifier(ios8以后才有)
objectivecNSDateFormatter *fm = [[NSDateFormatter alloc] init];
NSTimeZone *timeZone = [NSTimeZone localTimeZone];
[fm setTimeZone:timeZone];
[fm setDateFormat : @"yyyy-MM-dd HH:mm"];
NSDate *toDate = [fm dateFromString:firstToDate];
NSDate *fromDate = [fm dateFromString:secoud];
NSCalendar *calendar = [NSCalendar calendarWithIdentifier:NSGregorianCalendar];
//日期單元
NSUInteger unitFlags = NSCalendarUnitYear | NSMonthCalendarUnit | NSDayCalendarUnit | NSCalendarUnitHour | NSCalendarUnitMinute; NSDateComponents *components = [calendar components:unitFlags fromDate:toDate toDate:fromDate options:NSCalendarWrapComponents];