3

Не подскажите как из из JSON получить на выходе не 12.12.18, а число и название месяца.
Допустим в строке

"data": {  
       "date": "2018-12-04 10:02"
 }  

Получить 4 декабря 10:02

Denis Bubnov
  • 13,958
Marshall
  • 193

2 Answers2

3

Ну как решение можно с конвертировать строку в дату, а потом вернуть строку с нужными уже вам параметрами используя DateFormatter.

Пример

var mockDict: = ["date": "2018-12-04 10:02"]

//Convertation to Date

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm"
dateFormatter.timeZone = NSTimeZone(abbreviation: "UTC")! as TimeZone
let dataDate = dateFormatter.date(from: dict["date"] as! String)!

dateFormatter.dateFormat = "MMMM dd"
let newStringDate = dateFormatter.string(from: dataDate)

Более детальные возможности конвертирования даты в строку можно посмотреть на этом сайте nsdateformatter.com

-3

Регулярным выражением:

/^[\d]{4}-[\d]{2}-([\d]{2})/
Undefined
  • 104
  • Так себе ответ. Правильнее: парсить json, большинство языков понимают формат даты на автомате. Но, гмх: вынужден поставить "выглядит нормально" — из очереди проверок. – A K Dec 15 '18 at 20:56
  • Парсить JSON? В JSON вообще-то не предусмотрен тип для хранения дат. – Undefined Dec 15 '18 at 22:25
  • Я в курсе. Но вот в C# есть такой тип как дата и можно не только из строки распарсить в дату, но и библиотеке Json.Net можно выбрать форматтер даты или создать собственный. И ради бога не говорите мне, что в в swift нет типа "дата" или что для парсинга json не предусмотрены форматтеры из даты: я либо не поверю, либо мне просто печально слышать, что в языке претендующим на звание хорошего нет таких полезных штук. – A K Dec 15 '18 at 22:33
  • А вы так говорите, как будто никогда не слышали, что можно парсить json. Я уверен что даже в swift регулярки для данной задачи -- не является хорошей практикой. https://stackoverflow.com/search?q=swift+parse+json+date – A K Dec 15 '18 at 22:33
  • Про парсинг регулярками - таки да - метод костыльный. Но что касается JSON'а. Json.Net - это уже не JSON, а какое-то его самопальное расширение. – Undefined Dec 16 '18 at 11:59
  • "Какое-то самопальное", хм. Это самое используемое расширение для парсинга json в c#. Уж не знаю, насколько знакомы со swift (я лично незнаком и на so обычно обхожу эти вопросы), но в C# вы точно не ориентируетесь. В общем, я вашу позицию понял: парсинг регулярками - это костыль, но когда дело доходит до парсинга json - вы считаете, что регулярками парсить - вполне нормальное дело. Предпочитаю далее в дискуссию не вступать, но надеюсь, что когда-нибудь в этом вопросе появится ответ получше. – A K Dec 16 '18 at 12:03