//实例化一个NSDateFormatter对象code
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];component
//设定时间格式,这里能够设置成本身须要的格式orm
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];对象
//用[NSDate date]能够获取系统当前时间字符串
NSString *currentDateStr = [dateFormatter stringFromDate:[NSDate date]];get
//输出格式为:2010-10-27 10:22:13input
NSLog(@"%@",currentDateStr);string
//alloc后对不使用的对象别忘了releaseit
[dateFormatter release];date
///根据时间字符串得到当前星期几--
-(void)GetTime
{ //根据字符串转换成一种时间格式 供下面解析 NSString* string = @"2013-07-16 13:21"; NSDateFormatter *inputFormatter = [[[NSDateFormatter alloc] init]autorelease]; [inputFormattersetDateFormat:@"yyyy-MM-dd HH:mm"]; NSDate* inputDate = [inputFormatter dateFromString:string]; NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]autorelease]; NSDateComponents *comps = [[[NSDateComponents alloc] init] autorelease]; NSInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekdayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit; comps = [calendarcomponents:unitFlags fromDate:inputDate]; int week = [comps weekday]; NSString *strWeek = [self getweek:week]; self.textfield.text = strWeek; NSLog(@"week is:%@",strWeek); } -(NSString*)getweek:(NSInteger)week { NSString*weekStr=nil; if(week==1) { weekStr=@"星期天"; }else if(week==2){ weekStr=@"星期一"; }else if(week==3){ weekStr=@"星期二"; }else if(week==4){ weekStr=@"星期三"; }else if(week==5){ weekStr=@"星期四"; }else if(week==6){ weekStr=@"星期五"; }else if(week==7){ weekStr=@"星期六"; } return weekStr; } 各类时间字符说明 (:) 时间分隔符。在某些区域设置中,能够使用其余字符表示时间分隔符。时间分隔符在格式化时间值时分隔小时、分钟和秒。格式化输出中用做时间分隔符的实际字符由您的应用程序的当前区域性值肯定。 (/) 日期分隔符。在某些区域设置中,能够使用其余字符表示日期分隔符。日期分隔符在格式化日期值时分隔日、月和年。格式化输出中用做日期分隔符的实际字符由您的应用程序的当前区域性肯定。 (%) 用于代表不论尾随什么字母,随后字符都应该以单字母格式读取。也用于代表单字母格式应以用户定义格式读取。有关更多详细信息,请参见下面的内容。 d 将日显示为不带前导零的数字(如 1)。若是这是用户定义的数字格式中的惟一字符,请使用 %d。 dd 将日显示为带前导零的数字(如 01)。 EEE 将日显示为缩写形式(例如 Sun)。 EEEE 将日显示为全名(例如 Sunday)。 M 将月份显示为不带前导零的数字(如一月表示为 1)。若是这是用户定义的数字格式中的惟一字符,请使用 %M。 MM 将月份显示为带前导零的数字(例如 01/12/01)。 MMM 将月份显示为缩写形式(例如 Jan)。 MMMM 将月份显示为完整月份名(例如 January)。 gg 显示时代/纪元字符串(例如 A.D.) h 使用 12 小时制将小时显示为不带前导零的数字(例如 1:15:15 PM)。若是这是用户定义的数字格式中的惟一字符,请使用 %h。 hh 使用 12 小时制将小时显示为带前导零的数字(例如 01:15:15 PM)。 H 使用 24 小时制将小时显示为不带前导零的数字(例如 1:15:15)。若是这是用户定义的数字格式中的惟一字符,请使用 %H。 HH 使用 24 小时制将小时显示为带前导零的数字(例如 01:15:15)。 m 将分钟显示为不带前导零的数字(例如 12:1:15)。若是这是用户定义的数字格式中的惟一字符,请使用 %m。 mm 将分钟显示为带前导零的数字(例如 12:01:15)。 s 将秒显示为不带前导零的数字(例如 12:15:5)。若是这是用户定义的数字格式中的惟一字符,请使用 %s。 ss 将秒显示为带前导零的数字(例如 12:15:05)。 f 显示秒的小数部分。例如,ff将精确显示到百分之一秒,而 ffff 将精确显示到万分之一秒。用户定义格式中最多可以使用七个 f符号。若是这是用户定义的数字格式中的惟一字符,请使用 %f。 t 使用 12 小时制,并对中午以前的任一小时显示大写的 A,对中午到 11:59 P.M之间的任一小时显示大写的 P。若是这是用户定义的数字格式中的惟一字符,请使用 %t。 tt 对于使用 12 小时制的区域设置,对中午以前任一小时显示大写的 AM,对中午到 11:59 P.M之间的任一小时显示大写的 PM。 对于使用 24 小时制的区域设置,不显示任何字符。 y 将年份 (0-9)显示为不带前导零的数字。若是这是用户定义的数字格式中的惟一字符,请使用 %y。 yy 以带前导零的两位数字格式显示年份(若是适用)。 yyy 以四位数字格式显示年份。 yyyy 以四位数字格式显示年份。 z 显示不带前导零的时区偏移量(如 -8)。若是这是用户定义的数字格式中的惟一字符,请使用 %z。 zz 显示带前导零的时区偏移量(例如 -08) zzz 显示完整的时区偏移量(例如 -08:00) 格式显示 M/d/yy 12/7/58 d-MMM 7-Dec d-MMMM-yy 7-December-58 d MMMM 7 December MMMM yy December58 hh:mm tt 08:50 PM h:mm:ss t 8:50:35 P H:mm 20:50 H:mm:ss 20:50:35 M/d/yyyy H:mm 12/7/1958 20:50