2017-04-15 3 views
1

Dears, 문자열을 "Mon, 10 Apr 2017, 10:00:00 PDT"로 변환하는 데 도움이 날짜 아래 코드는 불행히도 오류가 발생합니다 :"EEE, dd MMM yyyy hh : mm : ss zzz"문자열을 날짜로 변환

extension String {  
    func getDate() -> Date { 
     let formatter = DateFormatter() 

     formatter.dateFormat = "EEE, dd MMM yyyy hh:mm:ss zzz" 
     return formatter.date(from: self)! // Returns "Mon, 10 Apr 2017, 10:00:00 PDT" 
    } 
} 

답변

2

두 가지 문제가 있습니다. 당신은 년 후에 쉼표를 추가해야하고는 DateFormat (12시간) 대신 HH의 HH (24시간)를 사용 :

extension Formatter { 
    static let date = DateFormatter() 
} 

extension String { 
    var getDate: Date? { 
     Formatter.date.locale = Locale(identifier: "en_US_POSIX") 
     Formatter.date.dateFormat = "EEE, dd MMM yyyy, HH:mm:ss zzz" 
     return Formatter.date.date(from: self) 
    } 
} 

let dateString = "Mon, 10 Apr 2017, 10:00:00 PDT" 
if let date = dateString.getDate { 
    Formatter.date.timeZone = TimeZone(abbreviation: "PDT") 
    Formatter.date.string(from: date) // Mon, 10 Apr 2017, 10:00:00 PDT 
} 
+0

감사합니다! 그것은 작동합니다 :) – LEONID