我正在寻找一种使用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)
在我的标签中显示当前日期的最简洁方法是什么?
答案 0 :(得分:5)
忘记Calendar
和DateComponents
。使用DateFormatter
let currentDateTime = Date()
let formatter = DateFormatter()
如果您想要固定格式,请将dateFormat
设置为
formatter.dateFormat = "dd.MM.yyyy"
或者,如果您想要一种格式,具体取决于当前的区域设置集timeStyle
和dateStyle
而不是format
属性
formatter.timeStyle = .none
formatter.dateStyle = .medium
现在获取字符串
let dateString = formatter.string(from: currentDateTime)