"2016 년 6 월 18 일 토요일"을 "18/06/2016"으로 구문 분석하려고합니다. 정규식 메서드를 사용하여이 작업을 수행 할 수 있습니다. 그러나 어떻게 얻을 수 있는지 잘 모르겠습니다. 그것을 사용하여 출력.iOS 용 Swift에서 NSDateFormatter를 사용하여 날짜 형식을 지정하는 방법은 무엇입니까?
NSDateFormatter를 신속하게 사용하는 방법이 바람직합니다.
"2016 년 6 월 18 일 토요일"을 "18/06/2016"으로 구문 분석하려고합니다. 정규식 메서드를 사용하여이 작업을 수행 할 수 있습니다. 그러나 어떻게 얻을 수 있는지 잘 모르겠습니다. 그것을 사용하여 출력.iOS 용 Swift에서 NSDateFormatter를 사용하여 날짜 형식을 지정하는 방법은 무엇입니까?
NSDateFormatter를 신속하게 사용하는 방법이 바람직합니다.
여기 있습니다.
NSDateFormatter
은 서수 표시기가있는 요일을 지원하지 않으므로 삭제해야합니다. 정규식을 사용할 수 있습니다.
let regex = try NSRegularExpression(pattern: "[st|nd|rd|th]", options: NSRegularExpressionOptions())
regex.replaceMatchesInString(dateString, options: NSMatchingOptions(), range: NSMakeRange(0, 4), withTemplate: "")
그런 다음 날짜 형식을 지정하기 만하면됩니다.
전체 코드 :
let dateString = NSMutableString(string: "18th of June 2016. Saturday")
do {
let regex = try NSRegularExpression(pattern: "[st|nd|rd|th]", options: NSRegularExpressionOptions())
regex.replaceMatchesInString(dateString, options: NSMatchingOptions(), range: NSMakeRange(0, 4), withTemplate: "")
let formatter = NSDateFormatter()
formatter.locale = NSLocale(localeIdentifier: "en_US")
formatter.dateFormat = "d' of 'MMMM y'.' EEEE"
let date = formatter.dateFromString(dateString as String)
formatter.dateStyle = .ShortStyle
formatter.locale = NSLocale.currentLocale()
let output = formatter.stringFromDate(date!)
print(output)
} catch let error as NSError { print(error) }
NSNumberFormatter
현재 로케일 설정에 따라 포맷합니다 있음을 유의하십시오.
NSDateFormatter를 사용하는 것이 적절한 해결책입니다. 정규식을 사용하는 것은 이것이 당신이 어떻게해야하는지 전혀 아닙니다. 지금까지 시도한 내용으로 질문을 업데이트하십시오. – rmaddy
아마도 설명서를 읽으십시오. – Alexander
Apple 문서 'NSDateFormatter' : https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/. NSDateFormatter와 관련된 문제가 있다면 코드와 문제를 포함하도록 질문을 편집하십시오. –