недели? От апишки может приходить либо int [1-7] либо [MONDAY-SUNDAY], но не конкретная дата. Можно как-то стандартными средствми преобразовать в [Понедельник-Воскресенье]?
Да, через intl DateFormat
А какой конструктор/метод? Я смотрел, но не сообразил…
Кстати, а в чём прикол этого intl? Почему, когда я пишу DateFormat, ide никогда не предлагает подключить intl А после подключения он почему-то синим подчёркивается
Так это отдельная либа. В пабспек не добавила
Так а чего оно работает тогда, если его нужно в спеках подключать...
https://stackoverflow.com/questions/16126579/how-do-i-format-a-date-with-dart
Смотри третий ответ и гугли в этом направлении
Типа... да, оно на это и ругается. Вопрос только, почему оно тогда вообще работает)))
Это хорошо. Но у меня нет конкретной даты. Только день недели
Ну у тебя есть пример вопроса в гугл, можно его поменять на форматирование дня недели и загуглить снова...
В каком формате у тебя день недели?
Так и сделал, прежде чем здесь спросить. Глянул доку и код DateFormat, но не вижу никакого консруктора подходящего...
Либо int 1-7 либо строковый MONDAY-SUNDAY
Тебе сначала надо через DateFormat.parse перегнать строку в DateTime, потом через конструктор EEEE и format() в локализованный день недели
Но parse не умеет такое формат преобразовывать, судя по доке
Только я не уверен, что он int поймёт. Может, тут ручками придётся.
Ты можешь брать DateTime.now() допустим, now now.weekday тебе вернёт индекс текущего дня недели Допустим, weekday_index дальше просто now.add(Duration(days: weekday_index - api_index)) Так ты получишь DateTime с нужным днём недели
Стековерфлоу что-то похоее посоветовал https://stackoverflow.com/a/55182671/1107686 Видимо, это единственный верный путь. Спасибо!
Обсуждают сегодня