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
TFileTimecontract. - For ordering, compare
dwHighDateTimefirst 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
$7FFFFFFFas 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
- Microsoft FILETIME - authoritative low/high field definition.
- Free Pascal record types - compatible record-field semantics.