From 2d0399d5916a3e64168e69a0835c03993f665762 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Mon, 19 Sep 2022 13:24:08 +0200 Subject: [PATCH] minor fix --- lib/utils/time_utils.dart | 4 ++-- test/utils/time_utils_test.dart | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/utils/time_utils.dart b/lib/utils/time_utils.dart index 057dc84a5..8cd65eb23 100644 --- a/lib/utils/time_utils.dart +++ b/lib/utils/time_utils.dart @@ -48,7 +48,7 @@ DateTime? dateTimeFromMillis(int? millis, {bool isUtc = false}) { final _unixStampMillisPattern = RegExp(r'\d{13}'); final _unixStampSecPattern = RegExp(r'\d{10}'); final _dateYMD8Hms6Sub3Pattern = RegExp(r'(\d{8})([_-\s](\d{6})([_-\s](\d{3}))?)?'); -final _dateY4M2D2H2m2s2Sub3Pattern = RegExp(r'(\d{4})-(\d{1,2})-(\d{1,2})[ -](\d{1,2})[.-](\d{1,2})[.-](\d{1,2})[.-](\d{1,3})?'); +final _dateY4M2D2H2m2s2Sub3Pattern = RegExp(r'(\d{4})-(\d{1,2})-(\d{1,2})[ -](\d{1,2})[.-](\d{1,2})[.-](\d{1,2})([.-](\d{1,3})?)?'); final _dateY4M2D2Hms6Pattern = RegExp(r'(\d{4})-(\d{1,2})-(\d{1,2}) (\d{6})'); DateTime? parseUnknownDateFormat(String? s) { @@ -111,7 +111,7 @@ DateTime? parseUnknownDateFormat(String? s) { final hour = int.tryParse(match.group(4)!); final minute = int.tryParse(match.group(5)!); final second = int.tryParse(match.group(6)!); - final millis = match.groupCount >= 7 ? int.tryParse(match.group(7) ?? '0') : 0; + final millis = match.groupCount >= 8 ? int.tryParse(match.group(8) ?? '0') : 0; if (year != null && month != null && day != null && hour != null && minute != null && second != null && millis != null) { return DateTime(year, month, day, hour, minute, second, millis); diff --git a/test/utils/time_utils_test.dart b/test/utils/time_utils_test.dart index 841863946..4bc33f228 100644 --- a/test/utils/time_utils_test.dart +++ b/test/utils/time_utils_test.dart @@ -30,6 +30,7 @@ void main() { expect(parseUnknownDateFormat('Screenshot_2022-05-14-15-40-29-164_uri'), DateTime(2022, 5, 14, 15, 40, 29, 164)); expect(parseUnknownDateFormat('2019-02-18 16.00.12-DCM'), DateTime(2019, 2, 18, 16, 0, 12, 0)); + expect(parseUnknownDateFormat('2020-11-01 00.31.02'), DateTime(2020, 11, 1, 0, 31, 2, 0)); expect(parseUnknownDateFormat('2019-10-31 135703'), DateTime(2019, 10, 31, 13, 57, 3, 0)); }); }