Skip to main content

dwLowDateTime

dwLowDateTime: LongWord

Example

procedure ClearFileTime(var Value: TFileTime);
begin
Value.dwLowDateTime := 0;
Value.dwHighDateTime := 0;
end;

Usage

dwLowDateTime stores bits 0 through 31 of the unsigned 64-bit interval count in a script TFileTime record.

Safe use

  • Read or write it only as one half of a complete TFileTime contract.
  • For ordering, compare dwHighDateTime first and use this field only when the high halves are equal.
  • Do not convert this value alone to TDateTime, Unix seconds or a formatted date.
  • When constructing a value, initialize both fields. A zero low field does not imply an empty, midnight or whole-second time.
  • Preserve unsigned semantics at database/JSON boundaries. A signed 32-bit container will display values above $7FFFFFFF as negative.

Its all-zero value is a bit-pattern example, not a universal API-specific "missing timestamp" marker.

Additional Technical Info

dwLowDateTime is the low-order unsigned 32-bit field of TFileTime. Its range is 0..4,294,967,295, matching the current public Cardinal/LongWord representation.

The field holds bits 0..31 of the combined interval count. It advances on every 100-nanosecond tick and wraps from $FFFFFFFF to 0 with a carry into dwHighDateTime. It therefore repeats roughly every 429.4967296 seconds and is not independently chronological.

Related Code Library entries

  • dwHighDateTime - high-order half used first for comparison.
  • Records - record value and interchange rules.

External references

Created 2026-07-15