iOS 日期處理 - 解析日期

來源:互聯網
上載者:User

iOS 日期處理 - 解析日期

要從一個字串中解析得到準確的時間,必須要指定正確的格式字串,以及對應的時區標示

1、日期格式

1.年

  • y 將年份 (0-9) 顯示為不帶前置字元為零的數字
  • yy 以帶前置字元為零的兩位元字格式顯示年份
  • yyy 以四位元字格式顯示年份
  • yyyy 以四位元字格式顯示年份

2.月

  • M 將月份顯示為不帶前置字元為零的數字(如一月表示為 1)
  • MM 將月份顯示為帶前置字元為零的數字(例如 01/12/01)
  • MMM 將月份顯示為縮寫形式(例如 Jan)
  • MMMM 將月份顯示為完整月份名(例如 January)
    • 一月 Jan January
    • 二月 Feb February
    • 三月 Mar March
    • 四月 Apr April
    • 五月 May May
    • 六月 Jun June
    • 七月 Jul July
    • 八月 Aug August
    • 九月 Sep September
    • 十月 Oct October
    • 十一月 Nov November
    • 十二月 Dec December


3.日

  • d 將日顯示為不帶前置字元為零的數字(如 1)
  • dd 將日顯示為帶前置字元為零的數字(如 01)

4.星期

  • EEE 將日顯示為縮寫形式(例如 Sun)
  • EEEE 將日顯示為全名(例如 Sunday)
    • 星期一 Mon Monday
    • 星期二 Tue Tuesday
    • 星期三 Wed Wednesday
    • 星期四 Thu Thursday
    • 星期五 Fri Friday
    • 星期六 Sat Saturday
    • 星期天 Sun Sunday

5.小時

  • h 使用 12 小時制將小時顯示為不帶前置字元為零的數字(例如 1:15:15 PM)
  • hh 使用 12 小時制將小時顯示為帶前置字元為零的數字(例如 01:15:15 PM)
  • H 使用 24 小時制將小時顯示為不帶前置字元為零的數字(例如 1:15:15)
  • HH 使用 24 小時制將小時顯示為帶前置字元為零的數字(例如 01:15:15)

6.分鐘

  • m 將分鐘顯示為不帶前置字元為零的數字(例如 12:1:15)
  • mm 將分鐘顯示為帶前置字元為零的數字(例如 12:01:15)

7.秒

  • s 將秒顯示為不帶前置字元為零的數字(例如 12:15:5)
  • ss 將秒顯示為帶前置字元為零的數字(例如 12:15:05)
  • f 顯示秒的小數部分
  • ff 將精確顯示到百分之一秒
  • ffff 將精確顯示到萬分之一秒
  • 使用者定義格式中最多可使用七個 f 符號

8.上午,下午

  • t 使用 12 小時制
    • 中午之前任一小時顯示大寫的 A
    • 中午到 11:59 PM 之間的任一小時顯示大寫的 P
    • tt 對於使用 12 小時制的地區設定
      • 中午之前任一小時顯示大寫的 AM
      • 中午到 11:59 PM 之間的任一小時顯示大寫的 PM
      • 對於使用 24 小時制的地區設定,不顯示任何字元

9.時區

  • z 顯示不帶前置字元為零的時區位移量
  • zz 顯示帶前置字元為零的時區位移量(例如 -08)
  • zzz 顯示完整的時區位移量(例如 -0800)

10. 範例

///  根據指定的日期文字建立日期///  dateSring 日期文字///  日期文字格式為:"Sun May 24 13:59:03 +0800 2015"class func createDate(dateSring: String) -> NSDate? {let df = NSDateFormatter()df.locale = NSLocale(localeIdentifier: "ch")df.dateFormat = "EEE MMM dd HH:mm:ss zzz yyyy"return df.dateFromString(dateSring)}


2、為NSDate 建立分類

/// 從字串中解析到準確時間// 參數 dateString 為時間字串   formatString 為時間字串對應的格式class func getDate(dateString: String, formatString: String) -> NSDate? {// dateFormatter// 1. 執行個體化let df = NSDateFormatter()// 2. 要指定日期的地區,Xcode 6.3 beta 還不需要,地區需要指定英語// 注意:在真機調試的時候,一定要指定地區,否則以前版本同樣無法轉換df.locale = NSLocale(localeIdentifier: "en")// 3. 設定日期格式df.dateFormat = formatString// 4. 產生日期return df.dateFromString(dateString)}


3、日期處理類 NSCalendar

。。。



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.