Skip to content

isValidX12DateTimeRange

  • Container free time, demurrage, billing deadlines, bill of lading dates and EDI timestamps.
isValidX12DateTimeRange(value: string, format: X12DateTimeRangeFormat): boolean

Return true when value is an X12 Date Time Period value (data element 1251) that states a range between two real local date-times, in a date-time range format qualifier (data element 1250).

  • CodeMaskThe dictionary’s definition
    RDTCCYYMMDDHHMM-CCYYMMDDHHMM“Range of Date and Time, Expressed in Format CCYYMMDDHHMM-CCYYMMDDHHMM”
    DTSCCYYMMDDHHMMSS-CCYYMMDDHHMMSS“Range of Date and Time Expressed in Format CCYYMMDDHHMMSS-CCYYMMDDHHMMSS”
  • True exactly when parseX12DateTimeRange returns a range for the same arguments: the validator calls the parser, so the two cannot disagree.

  • A range is valid with exactly one hyphen, and only against its code.

  • A range whose end precedes its start is false; an end equal to its start is true.

  • Checks the calendar as well as the shape: hour 24, second 60 and 29 February 2023 are false.

  • False for any other code, a code of another kind included; check a code alone with isValidX12DateTimePeriodFormat. False for a non-string argument.

ParameterTypeDescription
valuestringThe data element 1251 value (e.g. “202406151430-202406201600”)
formatX12DateTimeRangeFormatX12 data element 1250 format qualifier

boolean indicating validity

import { isValidX12DateTimeRange } from "@northguild/gmt/intermodal/validate";
isValidX12DateTimeRange("202406151430-202406201600", "RDT") // true
output 

intermodal/validate/isValidX12DateTimeRange.ts