如何在swift 2中将每个日期组件转换为特定的日期格式

jen*_*sam 3 nsdateformatter ios swift

我可以获得单独的日期组件:

let dateString = String(dataModel.dateCompletedDay) + String(dataModel.dateCompletedMonth) + String(dataModel.dateCompletedYear)
print(dateString)
//2532016
Run Code Online (Sandbox Code Playgroud)

现在我该如何将其转换为DD/MM/YYYY格式?

vad*_*ian 6

我建议使用Calendar,DateComponentsDateFormatter(Swift 3)

let components = DateComponents(year:dataModel.dateCompletedYear, month: dataModel.dateCompletedMonth, day: dataModel.dateCompletedDay)
let calendar = Calendar(identifier: .gregorian)!
let date = calendar.date(from: components)!
let formatter = DateFormatter()
formatter.dateFormat = "dd/MM/yyyy"
let dateString = formatter.string(from: date)
Run Code Online (Sandbox Code Playgroud)

此外,这是一个简单的解决方案,应该也适用于Swift 2

let dateString = String(format: "%02ld/%02ld/%ld", dataModel.dateCompletedDay, dataModel.dateCompletedMonth, dataModel.dateCompletedYear)
Run Code Online (Sandbox Code Playgroud)

  • 对不起,我不再使用Swift 2了很长时间,强烈建议更新.斯威夫特4很想去. (2认同)