使用 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)
在标签中显示当前日期的最简洁方法是什么?
忘记 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)
我正在寻找一种在带有 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)
在标签中显示当前日期的最简洁方法是什么?
忘记 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)