IOS 時間格式 時間轉換 大總結

jopen 11年前發布 | 202K 次閱讀 iOS開發 移動開發 IOS

//實例化一個NSDateFormatter對象

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

//設定時間格式,這里可以設置成自己需要的格式

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

//[NSDate date]可以獲取系統當前時間

NSString *currentDateStr = [dateFormatter stringFromDate:[NSDate date]];

//輸出格式為:2010-10-27 10:22:13

NSLog(@"%@",currentDateStr);

//alloc后對不使用的對象別忘了release

[dateFormatter release];

///根據時間字符串獲得當前星期幾--

 -(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


 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!