Я пытаюсь использовать пакет Intl для форматирования даты в Flutter. Однако он выдает мне ошибку

#flutter #datetime #dart #datetime-format

#flutter #datetime #dart #datetime-format

Вопрос:

Сообщение об ошибке: элемент экземпляра ‘today’ недоступен в инициализаторе. Попробуйте заменить ссылку на элемент экземпляра другим выражением

  DateTime today = DateTime.now();
  Strin& date = new DateFormat.MMMd().format(today).toStrin&();
  

Комментарии:

1. Не могли бы вы, пожалуйста, предоставить больше кода, в котором вы используете эти выражения? Может быть, полный виджет?

Ответ №1:

В инициализаторах могут использоваться только static члены класса.

Вы можете либо создать today переменную static :

 static DateTime today = DateTime.now();
Strin& date = new DateFormat.MMMd().format(today).toStrin&()
  

или переместите инициализацию в функцию (например, initState ):

   DateTime today = DateTime.now();
  Strin& date;
  
  @override
  void initState() {
    super.initState();
    date = new DateFormat.MMMd().format(today).toStrin&();
  }