2016-12-11 4 views
-1

Я ищу способ отображения текущей даты в наклейке с Swift 3. В настоящее время я использую DateFormatter.dateFormat, но выход только я получаюПоказать Дата с DateFormatter

дд. 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) 

Что представляет собой самый чистый способ отображения текущей даты на моей этикетке?

+1

Эта функция предназначена для создания формата даты. Это для этого используется для отображения даты в строку. Посмотрите на любой из этих тысяч подобных вопросов на переполнение стека, чтобы узнать, как это сделать. – Fogmeister

+0

Возможный дубликат [Convert NSDate to NSString] (http://stackoverflow.com/questions/576265/convert-nsdate-to-nsstring) – Fogmeister

ответ

2

Забудьте 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) 
+0

Спасибо за это, он отлично работает и также очень прост! – Fabian

Смежные вопросы