Просмотр исходного кода

Merge pull request #34 from alexandergottlieb/master

Support shortened RFC 822 dates
master
Wito Chandra 6 лет назад
committed by GitHub
Родитель
Сommit
e300254b75
Не найден GPG ключ соответствующий данной подписи Идентификатор GPG ключа: 4AEE18F83AFDEB23
1 измененных файлов: 6 добавлений и 3 удалений
  1. +6
    -3
      lib/util/datetime.dart

+ 6
- 3
lib/util/datetime.dart Просмотреть файл

@@ -1,15 +1,18 @@
import 'package:intl/intl.dart';

var rfc822DateFormat = DateFormat('EEE, dd MMM yyyy HH:mm:ss Z', 'en_US');
const rfc822DatePattern = 'EEE, dd MMM yyyy HH:mm:ss Z';

DateTime parseDateTime(dateString) {
if (dateString == null) return null;
return _parseRfc822DateTime(dateString) ?? _parseIso8601DateTime(dateString);
}

DateTime _parseRfc822DateTime(dateString) {
DateTime _parseRfc822DateTime(String dateString) {
try {
return rfc822DateFormat.parse(dateString);
final length = dateString?.length?.clamp(0, rfc822DatePattern.length);
final trimmedPattern = rfc822DatePattern.substring(0, length); //Some feeds use a shortened RFC 822 date, e.g. 'Tue, 04 Aug 2020'
final format = DateFormat(trimmedPattern, 'en_US');
return format.parse(dateString);
} on FormatException {
return null;
}


Загрузка…
Отмена
Сохранить