Дата разбора дротика с +0000 - PullRequest
0 голосов
/ 30 апреля 2020

Я использую API Twitter для получения твитов в приложении Flutte. API возвращает отформатированную дату, например:

Wed Jun 12 00:08:35 +0000 2019

  DateTime formatTwitterDate() {
    final format = DateFormat('EEE MMM dd hh:mm:ss +0000 yyyy'); //todo failed to resolve +0000
    return format.parse(this);
  }

Это единственный форматер, с которым я работал. Как я могу поддержать +0000?

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

Портирование это ответ на дротик

  var s = "Fri Apr 09 12:53:54 +0000 2010";
  print(s);

  final newString =
      s.replaceAllMapped(RegExp(r'\w+ (\w+) (\d+) ([\d:]+) \+0000 (\d+)'), (m) {
    return "${m[1]} ${m[2]} ${m[4]} ${m[3]} UTC";
  });
  print(newString);

0 голосов
/ 30 апреля 2020

Использовал эту javascript реализацию и преобразовал ее в DartExtension

{ ссылка }

extension StringToDateTime on String {
  DateTime formatTwitterDate() {
    final newDateString = '${replaceAll('+0000 ', '')} UTC';
    final format = DateFormat('EEE MMM dd hh:mm:ss yyyy Z');
    return format.parse(newDateString);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...