1 //实例化一个NSDateFormatter对象
  2 
  3 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
  4 
  5 //设定时间格式,这里可以设置成自己需要的格式
  6 
  7 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
  8 
  9 //用[NSDate date]可以获取系统当前时间
 10 
 11 NSString *currentDateStr = [dateFormatter stringFromDate:[NSDate date]];
 12 
 13 //输出格式为:2010-10-27 10:22:13
 14 
 15 NSLog(@"%@",currentDateStr);
 16 
 17 //alloc后对不使用的对象别忘了release
 18 
 19 [dateFormatter release];
 20 
 21 ///根据时间字符串获得当前星期几--
 22 
 23  -(void)GetTime
 24 
 25     { 
 26 
 27         //根据字符串转换成一种时间格式 供下面解析
 28 
 29        NSString* string = @"2013-07-16 13:21";
 30 
 31        NSDateFormatter *inputFormatter = [[[NSDateFormatter alloc] init]autorelease];
 32 
 33         [inputFormattersetDateFormat:@"yyyy-MM-dd HH:mm"];
 34 
 35        NSDate* inputDate = [inputFormatter dateFromString:string];
 36 
 37         
 38 
 39         NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]autorelease];
 40 
 41         NSDateComponents *comps = [[[NSDateComponents alloc] init] autorelease];
 42 
 43        NSInteger unitFlags = NSYearCalendarUnit |
 44 
 45         NSMonthCalendarUnit |
 46 
 47         NSDayCalendarUnit |
 48 
 49         NSWeekdayCalendarUnit |
 50 
 51         NSHourCalendarUnit |
 52 
 53         NSMinuteCalendarUnit |
 54 
 55         NSSecondCalendarUnit;
 56 
 57         
 58 
 59         comps = [calendarcomponents:unitFlags fromDate:inputDate];
 60 
 61        int week = [comps weekday];
 62 
 63        NSString *strWeek = [self getweek:week];
 64 
 65        self.textfield.text = strWeek;
 66 
 67        NSLog(@"week is:%@",strWeek);
 68 
 69     }
 70 
 71     -(NSString*)getweek:(NSInteger)week
 72 
 73     {
 74 
 75        NSString*weekStr=nil;
 76 
 77        if(week==1)
 78 
 79         {
 80 
 81             weekStr=@"星期天";
 82 
 83         }else if(week==2){
 84 
 85             weekStr=@"星期一";
 86 
 87             
 88 
 89         }else if(week==3){
 90 
 91             weekStr=@"星期二";
 92 
 93             
 94 
 95         }else if(week==4){
 96 
 97             weekStr=@"星期三";
 98 
 99             
100 
101         }else if(week==5){
102 
103             weekStr=@"星期四";
104 
105             
106 
107         }else if(week==6){
108 
109             weekStr=@"星期五";
110 
111             
112 
113         }else if(week==7){
114 
115             weekStr=@"星期六";
116 
117             
118 
119         }
120 
121        return weekStr;
122 
123     }

 

 

字符说明

         (:)

         时间分隔符。在某些区域设置中,可以使用其他字符表示时间分隔符。时间分隔符在格式化时间值时分隔小时、分钟和秒。格式化输出中用作时间分隔符的实际字符由您的应用程序的当前区域性值确定。

         (/)

         日期分隔符。在某些区域设置中,可以使用其他字符表示日期分隔符。日期分隔符在格式化日期值时分隔日、月和年。格式化输出中用作日期分隔符的实际字符由您的应用程序的当前区域性确定。

         (%)

         用于表明不论尾随什么字母,随后字符都应该以单字母格式读取。也用于表明单字母格式应以用户定义格式读取。有关更多详细信息,请参见下面的内容。

         d

1)。如果这是用户定义的数字格式中的唯一字符,请使用 %d。

         dd

01)。

         EEE

Sun)。

         EEEE

将日显示为全名(例如 Sunday)。

         M

1)。如果这是用户定义的数字格式中的唯一字符,请使用 %M。

         MM

将月份显示为带前导零的数字(例如 01/12/01)。

         MMM

Jan)。

         MMMM

将月份显示为完整月份名(例如 January)。

         gg

显示时代/纪元字符串(例如 A.D.)

         h

121:15:15 %h。

         hh

使用 12 小时制将小时显示为带前导零的数字(例如 01:15:15 PM)。

         H

241:15:15)。如果这是用户定义的数字格式中的唯一字符,请使用 %H。

         HH

2401:15:15)。

         m

12:1:15)。如果这是用户定义的数字格式中的唯一字符,请使用 %m。

         mm

将分钟显示为带前导零的数字(例如 12:01:15)。

         s

12:15:5)。如果这是用户定义的数字格式中的唯一字符,请使用 %s。

         ss

将秒显示为带前导零的数字(例如 12:15:05)。

         f

ff将精确显示到百分之一秒,而 %f。

         t

1211:59 %t。

         tt

1211:59 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

58

         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