The Webfeed Flutter package for Appeto SDK.
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

28 líneas
815 B

  1. import 'package:intl/intl.dart';
  2. const rfc822DatePattern = 'EEE, dd MMM yyyy HH:mm:ss Z';
  3. DateTime? parseDateTime(dateString) {
  4. if (dateString == null) return null;
  5. return _parseRfc822DateTime(dateString) ?? _parseIso8601DateTime(dateString);
  6. }
  7. DateTime? _parseRfc822DateTime(String dateString) {
  8. try {
  9. final num? length = dateString.length.clamp(0, rfc822DatePattern.length);
  10. final trimmedPattern = rfc822DatePattern.substring(0, length as int?); //Some feeds use a shortened RFC 822 date, e.g. 'Tue, 04 Aug 2020'
  11. final format = DateFormat(trimmedPattern, 'en_US');
  12. return format.parse(dateString);
  13. } on FormatException {
  14. return null;
  15. }
  16. }
  17. DateTime? _parseIso8601DateTime(dateString) {
  18. try {
  19. return DateTime.parse(dateString);
  20. } on FormatException {
  21. return null;
  22. }
  23. }