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
801 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 length = dateString?.length?.clamp(0, rfc822DatePattern.length);
  10. final trimmedPattern = rfc822DatePattern.substring(0, length); //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. }