2017-01-31 7 views
1

У меня есть источник данных, который дает мне датуМожете ли вы использовать NSDateformatter для создания дат только с месяцем и годом?

22017   // means: february 2017 
122017   // december 2017 
52018   // May 2018 

Я попытался разбор это с форматом StringMyyyy, который не получает правильные даты. Я теперь добавить «-» тира до последних 4 букв правильно отдельный год и месяц

5-2018 
12-2018 

Но NSDateformatter еще не дают правильный формат при установке M-yyyy, и я действительно не понимаю, почему , Это слишком мало информации для создания даты?

ответ

2

Это действительно работает, но вы должны точно определить, если месяц имеет одну или две цифры

let dateArray = ["22017", "122017", "52018"] 

let dateFormatter = DateFormatter() 

for string in dateArray { 
    dateFormatter.dateFormat = string.characters.count == 5 ? "Myyyy" : "MMyyyy" 
    let date = dateFormatter.date(from: string) 
    print(date) 
}