'字符串'不可转换为' Int'

时间:2015-01-09 20:15:46

标签: swift int nsdate nscalendar

我正在尝试创建一个以HH格式显示时间的应用:MM:SS。

let date = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitHour | .CalendarUnitMinute |                       
.CalendarUnitMonth | .CalendarUnitYear | .CalendarUnitDay | .CalendarUnitSecond,
fromDate:      date)
let hour = Int(components.hour)
let minutes = Int(components.minute)
let second = Int(components.second)
let col = ":"
let time = (hour+col+minutes+col+second)

在线     “让时间=(小时+ col +分钟+ col +秒)” 我一直收到错误“'String'不能转换为'Int'” 任何帮助将不胜感激 谢谢, 尼克

1 个答案:

答案 0 :(得分:3)

您收到该错误是因为您尝试添加(也就是说,同时使用+StringInt个实例。

您可以改为使用字符串插值:

let time = "\(hour):\(minutes):\(second)"

或者更好的是,了解NSDateFormatter,它可以更好地处理这个问题:

let timeFormatter = NSDateFormatter()
timeFormatter.dateFormat = NSDateFormatter.dateFormatFromTemplate("HH:mm:ss", options: 0, locale: NSLocale.currentLocale())

let time = timeFormatter.stringFromDate(date)