oc swift 時間通用

//實例化一個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
相關文章
相關標籤/搜索