Format a date from a string

前端 未结 5 1873
盖世英雄少女心
盖世英雄少女心 2020-12-10 08:37

I\'m trying to format a date from a string into another format.

For example: 2012-05-29 23:55:52 into 29/05 *newline* 2010.

I just

5条回答
  •  借酒劲吻你
    2020-12-10 08:57

    JFrank answer is good. But Apple says:

    "Cache Formatters for Efficiency" (https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/DataFormatting/Articles/dfDateFormatting10_4.html) to void allocating and discarding. So, as statics are already lazy...

    (For clarity I show only generating a date.. output format is similar..)

    import Foundation
    
    
    extension Date{
    
    
        // Global constants and variables are always computed lazily:
        static private var yyyyMMdd_dateFormatter : DateFormatter  {
            let df = DateFormatter()
            df.dateFormat = "yyyyMMdd"
            return df
        }
    
    
        init?(YYYYMMDDString: String?){
    
            guard let dateString = YYYYMMDDString else {return nil}
    
            guard let date = Self.yyyyMMdd_dateFormatter.date(from: dateString) else {
                return nil
            }
                self = date
    
         }
    
    
    }
    

提交回复
热议问题