今天在项目中碰到了NSDateFormatter的相关问题,在网上看了一些方法,觉得比较简单,就做一个简单的整理吧!
Formatter译为格式,相应的NSDateFormatter就相当于是NSDate的转换类,将NSDate转换为另一种格式,或转换回来。NSDate没有自己的输出,需要借助NSDateFormatter以相应格式输出。这差不多就是NSDateFormatter的作用了吧。常用的方法并不复杂,几条语句而已,下面就是整个过程了。
//实例化一个NSDateFormatter对象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //设定时间格式,这里可以设置成自己需要的格式 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //用[NSDate date]可以获取系统当前时间 NSString *currentDateStr = [dateFormatter stringFromDate:[NSDate date]]; //输出格式为:2015-8-21 11:50:13 NSLog(@”%@”,currentDateStr);
输出格式通setDateStyle和setTimeStyle设置,分别定义的日期和时间的格式可选以下的系统给出的方法:
typedef enum { NSDateFormatterNoStyle = kCFDateFormatterNoStyle, NSDateFormatterShortStyle = kCFDateFormatterShortStyle,//“11/23/37” or “3:30pm” NSDateFormatterMediumStyle = kCFDateFormatterMediumStyle,//\"Nov 23, 1937\" NSDateFormatterLongStyle = kCFDateFormatterLongStyle,//\"November 23, 1937” or “3:30:32pm\" NSDateFormatterFullStyle = kCFDateFormatterFullStyle//“Tuesday, April 12, 1952 AD” or “3:30:42pm PST” } NSDateFormatterStyle;