DateTimeValue.fromCrawledStringValue constructor

DateTimeValue.fromCrawledStringValue(
  1. String value, {
  2. String? timeZoneIdentifier,
})

Implementation

factory DateTimeValue.fromCrawledStringValue(
  String value, {
  String? timeZoneIdentifier,
}) {
  final normalizedValue = value.trim().toUpperCase();

  final parseValue =
      "${normalizedValue.substring(0, 4)}.${normalizedValue.substring(4, 6)}.${normalizedValue.substring(6, 8)}T${normalizedValue.substring(9, 11)}.${normalizedValue.substring(11, 13)}.${normalizedValue.substring(13, 15)}";

  return DateTimeValue(
    DateFormat("yyyy.MM.dd'T'HH.mm.ss").parse(
      parseValue,
      normalizedValue.toUpperCase().endsWith("Z"),
    ),
    fixed: normalizedValue.toUpperCase().endsWith("Z") ||
        timeZoneIdentifier != null,
    timeZoneIdentifier: timeZoneIdentifier,
  );
}