首页 > 解决方案 > 与日期字符串分开获取月份和日期

问题描述

我有一个这种格式的日期..

2019-12-16 18:30:00 +0000

这是我的代码..

 var utcTime = "\(dic["dueDate"]!)"
 self.dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
 self.dateFormatter.locale = Locale(identifier: "en_US")
 let date = self.dateFormatter.date(from:utcTime)!
 print(date)

我想从这个字符串中提取月份和日期。即从上面的日期字符串中,我分别想要“十二月”和“16”。

标签: iosswiftdate

解决方案


有几种方法可以获得预期的结果,作为一个选项,您可以将此代码与Calendar

let utcTime = "2020-01-17T22:01:00"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
dateFormatter.locale = Locale(identifier: "en_US")

if let date = dateFormatter.date(from:utcTime) {
    let monthInt = Calendar.current.component(.month, from: date)
    let dayInt = Calendar.current.component(.day, from: date)
    let monthStr = Calendar.current.monthSymbols[monthInt-1]
    print(monthStr, dayInt)
}

推荐阅读