【问题标题】:How can I convert "2020-04-10T18:46:42+08:00" to "18:46" in Swift? [duplicate]如何在 Swift 中将“2020-04-10T18:46:42+08:00”转换为“18:46”? [复制]
【发布时间】:2020-04-10 10:49:07
【问题描述】:

如何在 Swift 中将“2020-04-10T18:46:42+08:00”转换为“18:46”?

我尝试对此进行格式化,但找不到更好的解决方案。

【问题讨论】:

标签: swift date swift4.1


【解决方案1】:

调用函数

let getDate = "2020-04-10T18:46:42+08:00"
let x = self.dateInRequiredFormat(stringDate: getDate, requiredFormat : "HH:mm")
print("date:- \(x)")

日期格式化函数

 func dateInRequiredFormat(stringDate:String, requiredFormat:String)->String{
    let dateFormatter = DateFormatter()
    dateFormatter.calendar = Calendar(identifier: .gregorian)
    dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ"
    let checkInDateStr = dateFormatter.date(from: stringDate)!
    dateFormatter.dateFormat = requiredFormat
    let dateInRequiredFormat = dateFormatter.string(from: checkInDateStr)
    return dateInRequiredFormat
}

【讨论】:

  • 谢谢。这也是一个很好的解决方案。
【解决方案2】:

您可以使用Calendarcomponent(_:from:) 方法获取小时和分钟。

let calendar = Calendar.current
calendar.component(.hour, from: date) // hour
calendar.component(.minute, from: date) // minute

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-07
    • 1970-01-01
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    • 2020-08-04
    • 2012-06-21
    相关资源
    最近更新 更多