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

3

我的代码接收一个NSDate对象,然后读取年、月和日,将它们拼接成一个整数。接下来,我想将这个整数转换成字符串,以便将其插入到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不能转换为String",或者在 "as" 后面加上 "!",提示 "Int转换为String总是会失败"。有没有什么解决方法?

2个回答

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

输出:

日期字符串:2015118

或者

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

1
你的第一次尝试 - 几次 - 是正确的。
let dateString = "\(dateInt)"

或者“高级”版本。
let dateString = String(stringInterpolationSegment: dateInt)

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

奇怪,之前它没能正常工作,但现在我再试一次就可以了。谢谢! - ButtonMasterBot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接