2016-09-01 1 views
0

dateFormat 문자열을 자동으로 가져올 방법이 있습니까?NSDateFormatter가 자동으로 dateFormat을 얻습니다. (Swift 2)

 ///getting the date from datePicker 
    func handleDatePicker(sender: UIDatePicker) { 
     let timeFormatter = NSDateFormatter() 
     timeFormatter.locale = NSLocale.currentLocale() 
     timeFormatter.dateStyle = .MediumStyle 
     timeFormatter.dateFormat = "dd MMM yyyy" ///get this automatically??? 
     dateTextField.text = timeFormatter.stringFromDate(sender.date) 
    } 



     [...]///other stuff 
      let dateString = dateTextField.text 
      let dateFormatter = NSDateFormatter() 
      dateFormatter.dateFormat = "dd MMM yyyy" //can I get the string automatically based on user locale??? so I don't have to worry about setting the correct string? 
      dateFormatter.locale = NSLocale.currentLocale() 
      let dateFromString = dateFormatter.dateFromString(dateString!) 
      print(dateFromString)/// gives nil if dateFormatter.dateFormat = "dd MMM yyyy" is commented out 
+0

날짜를 설정하지 않으면 얻을 수있는 항목은 무엇입니까? – Sofeda

+0

내가 설정하지 않으면 아무렇지 않게 나타납니다. 위와 같이 설정하면 날짜가 올바르게 표시됩니다. 하지만 사용자 환경 설정에 따라 문자열을 자동으로 가져 오려고합니다. –

+0

사용자 선호 날짜 형식 가져 오기 – Sofeda

답변

1

다음과 같은 방법으로 날짜 형식을 자동으로 적용 할 수 있습니다. 아래 코드는 Swift 3.0에 있습니다.

방법 1 (사용자 지정 날짜 및 시간 스타일을 사용하여) : (사전 설정을 사용하여)

let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = DateFormatter.dateFormat(fromTemplate: "dd MMM yyyy", options: 0, locale: NSLocale.current) 
let dateString = dateFormatter.string(from: Date()) 

방법 2 :

let dateString = DateFormatter.localizedString(from: Date(), dateStyle: .medium, timeStyle: .none) 

더 많은 정보를 원하시면이 link을 참조하십시오.