Skip to content

Commit 3bde1ce

Browse files
author
Arnaud Bouchez
committed
made TSynSystemTime.FromDate() description even more explicit
1 parent ca6dc71 commit 3bde1ce

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

src/core/mormot.core.datetime.pas

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,8 @@ TSynSystemTime = record
447447
{$ifdef HASINLINE}inline;{$endif}
448448
/// fill fields from the given value - but not DayOfWeek
449449
procedure FromDateTime(const dt: TDateTime);
450-
/// fill Year/Month/Day fields from the given value - but not DayOfWeek
450+
/// fill Year/Month/Day fields from the given value
451+
// - but do not compute DayOfWeek, nor touch the time fields
451452
// - faster than the RTL DecodeDate() function
452453
procedure FromDate(const dt: TDateTime);
453454
/// fill fields from the given value - but not DayOfWeek
@@ -2100,7 +2101,7 @@ function TSynSystemTime.IsEqual(const another: TSynSystemTime): boolean;
21002101
function TSynSystemTime.IsDateEqual(const date: TSynDate): boolean;
21012102
begin
21022103
result := (PCardinal(@Year)^ = PCardinal(@TSynDate(date).Year)^) and // +Month
2103-
(Day = TSynDate(date).Day);
2104+
(Day = TSynDate(date).Day); // just ignore DayOfWeek
21042105
end;
21052106

21062107
procedure TSynSystemTime.FromNowUtc;
@@ -2138,6 +2139,7 @@ procedure TSynSystemTime.FromDate(const dt: TDateTime);
21382139
var
21392140
t, t2, t3: PtrUInt;
21402141
begin
2142+
PInt64(@Year)^ := 0; // quickly reset all Date fields
21412143
t := Trunc(dt);
21422144
t := (t + 693900) * 4 - 1;
21432145
if PtrInt(t) >= 0 then
@@ -2157,10 +2159,7 @@ procedure TSynSystemTime.FromDate(const dt: TDateTime);
21572159
inc(Year);
21582160
end;
21592161
Month := t3;
2160-
DayOfWeek := 0; // not set by default
2161-
end
2162-
else
2163-
PInt64(@Year)^ := 0;
2162+
end;
21642163
end;
21652164

21662165
procedure TSynSystemTime.FromTime(const dt: TDateTime);

src/mormot.commit.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
'2.2.8094'
1+
'2.2.8095'

0 commit comments

Comments
 (0)