使用 DateFormatter 显示日期

Show Date with DateFormatter

我正在寻找一种在带有 Swift 的标签中显示当前日期的方法 3。 目前我正在使用 DateFormatter.dateFormat 但我得到的唯一输出是

dd.MM.yyyy

这是代码行:

lbl_Date.text = DateFormatter.dateFormat(fromTemplate: "MMddyyyy", options: 0, locale: NSLocale(localeIdentifier: "de-AT") as Locale)

我今天的预期输出应该是:

11.12.2016

我知道我可以使用 dateTimeComponents 获取时间,但我还不知道如何只获取标签中的日期(日、月和年):

// get the current date and time
    let currentDateTime = Date()

    // get the user's calendar
    let userCalendar = Calendar.current

    // choose which date and time components are needed
    let requestedComponents: Set<Calendar.Component> = [
        .year,
        .month,
        .day,
        .hour,
        .minute,
        .second
    ]

    // get the components
    let dateTimeComponents = userCalendar.dateComponents(requestedComponents, from: currentDateTime)

在标签中显示当前日期的最简洁方法是什么?

忘记 CalendarDateComponents。使用 DateFormatter

let currentDateTime = Date()
let formatter = DateFormatter()

如果您想要固定格式,请将 dateFormat 设置为

formatter.dateFormat = "dd.MM.yyyy"

或者,如果您想要一种取决于当前区域设置的格式,请设置 timeStyledateStyle 而不是 format 属性

formatter.timeStyle = .none
formatter.dateStyle = .medium

现在获取字符串

let dateString = formatter.string(from: currentDateTime)