Как конвертировать месяц в строке в месяц в DateTime? - PullRequest
0 голосов
/ 01 марта 2020

Я показываю все названия месяцев в выпадающем списке, значения хранятся в списке строк.

final List<String> _months = [
    "January",
    "February",
    "March",
    "April",
    "May",
    "June",
    "July",
    "August",
    "September",
    "October",
    "November",
    "December"
];

Пользователь может выбрать любое значение, и исходя из этого, я хочу преобразовать его в числовой месяц например, если месяц - март, числовое значение будет равно 3. Конечно, есть способы сделать это вообще без DateTime, но я хочу сделать несколько других вещей после преобразования его в DateTime.

DateTime's parse метод принимает только несколько определенных c форматов, и эти форматы не включают в себя простую строку месяца, например, март.

При использовании пакета intl любой DateTime может быть преобразован для отображения числового номера месяца используя

DateFormat.M().format(DateTime.now())

Но это можно сделать только в том случае, если полученная мной строка, такая как «Декабрь», может быть преобразована в DateTime.

1 Ответ

0 голосов
/ 01 марта 2020

Построить DateTime с месяцем

  final selected = _months[2];

  DateTime(2020, _months.indexOf(selected) + 1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...