将日期组件(整数)转换为字符串

Converting Date Components (Integer) to String

我的代码采用 NSDate 并读取年、月和日,然后将它们串在一起作为一个整数。我接下来想将此 Int 转换为字符串,以便可以将其插入到 URL 字符串中,但没有成功:

let calendarUnits: NSCalendarUnit = .CalendarUnitDay | .CalendarUnitMonth | .CalendarUnitYear
let components = NSCalendar.currentCalendar().components(calendarUnits, fromDate: dateToBeExamined)
var dateInt = components.year
dateInt += components.day
dateInt += components.month
var dateString = dateInt as! String

我试过几种方法,包括以下几种:

"\(dateInt)"
dateInt.description
dateInt as String
String(dateInt)

但是,他们都告诉我 "Int is not convertible to String",或者,用“!”在 "as" 之后,即 "Int cast to String will always fail"。有人有办法解决这个问题吗?

您的第一次 - 多次 - 尝试都是正确的

let dateString = "\(dateInt)"

或"sophisticated"版本

let dateString = String(stringInterpolationSegment: dateInt)

编辑:但您可能希望连接字符串值而不是执行数学加法,然后使用 zaph 答案的语法。

let dateString = "\(components.year)\(components.day)\(components.month)"
println("dateString: \(dateString)")

输出:

dateString: 2015118

let dateString = String(components.year) + String(components.day) + String(components.month)