Calendar.components不能与Swift 3中的数组文字一起使用

时间:2017-01-15 04:02:46

标签: ios swift swift3 nsdate

我正在尝试构建一个类的蓝图,以便将当前日期显示为“2017年1月14日星期六”,但我无法在Swift 3中创建一系列日历组件。我是否需要打破它们我已经完成了下面一年的单独变量,然后将每个变量组合成一个字符串?

到目前为止,我所拥有的内容不会编译,而是通过阅读其过去曾经使用过的其他代码:

import Foundation
class CurrentCalendarDate {
    var currentDateString: String {
        get{
            let date = Date()

            let calendar = Calendar.current

            //let components = calendar.component(.year, from: date)

            let componetsThatWeWant = calendar.component([.year, .day, .month], from: date)

            let readableDate: String = "Today's date is: \(componetsThatWeWant.day) \(componetsThatWeWant.month), \(componetsThatWeWant.year)"

            return readableDate

        }
    }
}

1 个答案:

答案 0 :(得分:4)

也许您可能需要使用dateComponents(_:from:)而不是component(_:from:)

let componetsThatWeWant = calendar.dateComponents([.year, .day, .month], from: date)

但使用DateFormatter似乎是更好的选择。