直播平臺原始碼,iOS中使用 Date/NSDate 來獲取時間

zhibo系統開發發表於2023-03-28

直播平臺原始碼,iOS中使用 Date/NSDate 來獲取時間

將Date轉為字串型別

extension Date {
    ///將Date轉化為固定格式的字串
    ///- parameter formatter : 時間格式  例如:yyyy年MM月dd日 HH:mm:ss
    ///- warning : 時間格式基本為小寫,除了:
    ///- MM:月份
    ///- HH:表示24小時制  hh:表示12小時制
    func toString(formatter: String) -> String {
        let dateFormattr = DateFormatter()
        dateFormattr.dateFormat = formatter
        return dateFormattr.string(from: self)
    }
}

字串轉Date

extension String{
    ///將字串轉化為Date
    ///- parameter formatter : 這段時間字串的時間格式  例如:yyyy年MM月dd日 HH:mm
    ///- warning : 字串格式與時間格式必須一一對應且特殊符號輸入法一致,如示例引數中冒號為英文環境,如果字串為中文環境,同樣會錯誤,返回nil
    func toDate(formatter: String) -> Date? {
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = formatter
        formatter.locale = Locale.init(identifier: "en_US_POSIX") //Locale.init(identifier: "zh_Hans_CN")// 如果只在一箇中國區使用可以用這個 // 解決網路時間解析不到 date 問題
        return dateFormatter.date(from: self)
    }
}

根據NSDateFormatter技術問答得出, 在 iOS 上,使用者可以覆蓋預設的 AM/PM 與 24 小時時間設定(透過設定 > 常規 > 日期和時間 > 24 小時時間),這會導致 NSDateFormatter 重寫您設定的格式字串,這可能會導致您的時間解析失敗(具體就在 iOS15.4 轉換出的 date 為 nil)。

 以上就是直播平臺原始碼,iOS中使用 Date/NSDate 來獲取時間, 更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2942113/,如需轉載,請註明出處,否則將追究法律責任。

相關文章