在日期及其文本表示之间转换的DateFormatter 。
您可以在此处找到更多Locale
标识符。
- 首先,将您的日期转换为当地时区。使用
Locale
类
- 在您可以以特定格式隐藏日期之后。
并尝试此代码。
let dateStr = "Wed, 26 Jul 2017 18:10:02 +0530"
if let date = Date(fromString: dateStr, format: "MMM dd, yyyy hh:mm:ss a") {
debugPrint(date.toString(format: "dd-MM-yyyy HH:ii"))
}
延长日期是...
extension Date {
// Initializes Date from string and format
public init?(fromString string: String, format: String, identifier: String = Locale.current.identifier) {
let formatter = DateFormatter()
formatter.dateFormat = format
formatter.locale = Locale(identifier: identifier)
if let date = formatter.date(from: string) {
self = date
} else {
return nil
}
}
// Converts Date to String, with format
public func toString(format: String, identifier: String = Locale.current.identifier) -> String {
let formatter = DateFormatter()
formatter.locale = Locale(identifier: identifier)
formatter.dateFormat = format
return formatter.string(from: self)
}
}
字符串扩展是...
extension String {
// Converts String to formated date string, with inputFormat and outputFormat
public func toDate(form inputFormat: String, to outputFormat: String, identifier: String = Locale.current.identifier) -> String? {
return Date(fromString: self, format: inputFormat, identifier: identifier)?.toString(format: outputFormat, identifier: identifier)
}
// Converts String to Date, with format
func toDate(format: String, identifier: String = Locale.current.identifier) -> Date? {
return Date(fromString: self, format: format, identifier: identifier)
}
}