G: 公元時代,例如AD公元 yy: 年的後2位 yyyy: 完全年 MM: 月,顯示爲1-12 MMM: 月,顯示爲英文月份簡寫,如 Jan MMMM: 月,顯示爲英文月份全稱,如 Janualy dd: 日,2位數表示,如02 d: 日,1-2位顯示,如 2 EEE: 簡寫星期幾,如Sun EEEE: 全寫星期幾,如Sunday aa: 上下午,AM/PM(xcode8以前aa表示上下午,以後aa表示am/pm,官方代碼看不到,作個提醒,若是你是xcode8以前的編輯器,最好把am/pm轉成上下午作,網上有傳tt能夠表明am/pm,樓主親測,無效) H: 時,24小時制,0-23 K:時,12小時制,0-11 m: 分,1-2位 mm: 分,2位 s: 秒,1-2位 ss: 秒,2位 S: 毫秒
1.date轉stringxcode
NSDate *date=[NSDate date]; NSLog(@"%@",date);//2015-11-20 00:37:40 +0000 NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init];//建立一個日期格式化器 dateFormatter.dateFormat=@"yyyy-MM-dd hh:mm:ss";//指定轉date得日期格式化形式 NSLog(@"%@",[dateFormatter stringFromDate:date]);//2015-11-20 08:24:04 dateFormatter.dateFormat=@"yyyy-MM-dd"; NSLog(@"%@",[dateFormatter stringFromDate:date]);//2015-11-20 dateFormatter.dateFormat=@"yyyy-MM-dd eeee aa HH:mm:ss"; NSLog(@"%@",[dateFormatter stringFromDate:date]);//2015-11-20 Friday AM 08:30:28 dateFormatter.dateFormat=@"yyyy-MM-dd hh:mm:ss z"; NSLog(@"%@",[dateFormatter stringFromDate:date]);//2015-11-20 08:42:22 GMT+8
其實date轉string只須要根據格式來就能夠了,可是string轉date須要注意事項編輯器
2.string轉datecode
NSString *dateStr=@"2012-5-4 4:34:23"; dateFormatter.dateFormat=@"yyyy-mm-dd hh:mm:ss";
//輸出:2012-05-03 20:34:23 +0000orm
/*blog
轉化的類型必須與dateFormat保持一致string
2012-->yit
5->mclass
4->ddate
*/im
NSString *birthdayStr=@"1986-03-28 00:00:00.000"; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"]; [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:8]];//解決8小時時間差問題 NSDate *birthdayDate = [dateFormatter dateFromString:birthdayStr];