Format daty Dart / Flutter

Oct 01 2020

Próbuję zmienić format ciągu daty zwracanego z interfejsu API. Poniższy ciąg wejściowy formatu daty działa dobrze w Javie, ale nie w Dart.

 DateTime tempDate = new DateFormat("dd-MMM-yy hh.mm.ss.SSSSSS aa")
          .parse(notification.createdat);
      final DateFormat formatter = DateFormat('EEE M/d/yy h:mm a');
      final String formatted = formatter.format(tempDate);

Oto powtórzony błąd:

Odpowiedzi

1 Er1 Oct 01 2020 at 19:29

Może tak być, ponieważ SEPwszystko jest wielkie. Możesz to przetestować, po prostu wstawiając statyczny ciąg znaków Sepas month do funkcji parsowania.

DateTime tempDate = new DateFormat("dd-MMM-yy hh.mm.ss.SSSSSS aa")
          .parse('30-Sep-20 12.50.18.518880 pm');
      final DateFormat formatter = DateFormat('EEE M/d/yy h:mm a');
      final String formatted = formatter.format(tempDate);

Sprawdź tutaj poprawną składnię https://unicode-org.github.io/icu/userguide/format_parse/datetime/#datetime-format-syntax