|
@@ -1258,7 +1258,7 @@ Var YY,MM,DD,H,m,s,msec : Word;
|
|
begin
|
|
begin
|
|
Decodedate (DateTime,YY,MM,DD);
|
|
Decodedate (DateTime,YY,MM,DD);
|
|
DecodeTime (DateTime,h,m,s,msec);
|
|
DecodeTime (DateTime,h,m,s,msec);
|
|
-{$ifndef unix}
|
|
|
|
|
|
+{$if not defined(unix) and not defined(wasi)}
|
|
If (YY<1980) or (YY>2099) then
|
|
If (YY<1980) or (YY>2099) then
|
|
Result:=0
|
|
Result:=0
|
|
else
|
|
else
|
|
@@ -1266,24 +1266,24 @@ begin
|
|
Result:=(s shr 1) or (m shl 5) or (h shl 11);
|
|
Result:=(s shr 1) or (m shl 5) or (h shl 11);
|
|
Result:=Result or longint(DD shl 16 or (MM shl 21) or (word(YY-1980) shl 25));
|
|
Result:=Result or longint(DD shl 16 or (MM shl 21) or (word(YY-1980) shl 25));
|
|
end;
|
|
end;
|
|
-{$else unix}
|
|
|
|
|
|
+{$else unix or wasi}
|
|
Result:=LocalToEpoch(yy,mm,dd,h,m,s);
|
|
Result:=LocalToEpoch(yy,mm,dd,h,m,s);
|
|
-{$endif unix}
|
|
|
|
|
|
+{$endif unix or wasi}
|
|
end;
|
|
end;
|
|
|
|
|
|
Function UniversalToFileDate(DateTime : TDateTime) : int64;
|
|
Function UniversalToFileDate(DateTime : TDateTime) : int64;
|
|
-{$ifndef unix}
|
|
|
|
|
|
+{$if not defined(unix) and not defined(wasi)}
|
|
begin
|
|
begin
|
|
Result := DateTimeToFileDate(UniversalTimeToLocal(DateTime));
|
|
Result := DateTimeToFileDate(UniversalTimeToLocal(DateTime));
|
|
end;
|
|
end;
|
|
-{$else unix}
|
|
|
|
|
|
+{$else unix or wasi}
|
|
Var YY,MM,DD,H,m,s,msec : Word;
|
|
Var YY,MM,DD,H,m,s,msec : Word;
|
|
begin
|
|
begin
|
|
Decodedate (DateTime,YY,MM,DD);
|
|
Decodedate (DateTime,YY,MM,DD);
|
|
DecodeTime (DateTime,h,m,s,msec);
|
|
DecodeTime (DateTime,h,m,s,msec);
|
|
Result:=UniversalToEpoch(yy,mm,dd,h,m,s);
|
|
Result:=UniversalToEpoch(yy,mm,dd,h,m,s);
|
|
end;
|
|
end;
|
|
-{$endif unix}
|
|
|
|
|
|
+{$endif unix or wasi}
|
|
|
|
|
|
function CurrentYear: Word;
|
|
function CurrentYear: Word;
|
|
var
|
|
var
|
|
@@ -1295,7 +1295,7 @@ end;
|
|
|
|
|
|
Function FileDateToDateTime (Filedate : Int64) : TDateTime;
|
|
Function FileDateToDateTime (Filedate : Int64) : TDateTime;
|
|
|
|
|
|
-{$ifndef unix}
|
|
|
|
|
|
+{$if not defined(unix) and not defined(wasi)}
|
|
Var Date,Time : Word;
|
|
Var Date,Time : Word;
|
|
|
|
|
|
begin
|
|
begin
|
|
@@ -1304,29 +1304,29 @@ begin
|
|
Result:=ComposeDateTime(EncodeDate((Date shr 9) + 1980,(Date shr 5) and 15, Date and 31),
|
|
Result:=ComposeDateTime(EncodeDate((Date shr 9) + 1980,(Date shr 5) and 15, Date and 31),
|
|
EncodeTime(Time shr 11, (Time shr 5) and 63, (Time and 31) shl 1,0));
|
|
EncodeTime(Time shr 11, (Time shr 5) and 63, (Time and 31) shl 1,0));
|
|
end;
|
|
end;
|
|
-{$else unix}
|
|
|
|
|
|
+{$else unix or wasi}
|
|
var
|
|
var
|
|
y, mon, d, h, min, s: word;
|
|
y, mon, d, h, min, s: word;
|
|
begin
|
|
begin
|
|
EpochToLocal(FileDate,y,mon,d,h,min,s);
|
|
EpochToLocal(FileDate,y,mon,d,h,min,s);
|
|
Result:=ComposeDateTime(EncodeDate(y,mon,d),EncodeTime(h,min,s,0));
|
|
Result:=ComposeDateTime(EncodeDate(y,mon,d),EncodeTime(h,min,s,0));
|
|
end;
|
|
end;
|
|
-{$endif unix}
|
|
|
|
|
|
+{$endif unix or wasi}
|
|
|
|
|
|
Function FileDateToUniversal (Filedate : Int64) : TDateTime;
|
|
Function FileDateToUniversal (Filedate : Int64) : TDateTime;
|
|
|
|
|
|
-{$ifndef unix}
|
|
|
|
|
|
+{$if not defined(unix) and not defined(wasi)}
|
|
begin
|
|
begin
|
|
Result := LocalTimeToUniversal(FileDateToDateTime(Filedate));
|
|
Result := LocalTimeToUniversal(FileDateToDateTime(Filedate));
|
|
end;
|
|
end;
|
|
-{$else unix}
|
|
|
|
|
|
+{$else unix or wasi}
|
|
var
|
|
var
|
|
y, mon, d, h, min, s: word;
|
|
y, mon, d, h, min, s: word;
|
|
begin
|
|
begin
|
|
EpochToUniversal(FileDate,y,mon,d,h,min,s);
|
|
EpochToUniversal(FileDate,y,mon,d,h,min,s);
|
|
Result:=ComposeDateTime(EncodeDate(y,mon,d),EncodeTime(h,min,s,0));
|
|
Result:=ComposeDateTime(EncodeDate(y,mon,d),EncodeTime(h,min,s,0));
|
|
end;
|
|
end;
|
|
-{$endif unix}
|
|
|
|
|
|
+{$endif unix or wasi}
|
|
|
|
|
|
function TryStrToDate(const S: ShortString; out Value: TDateTime): Boolean;
|
|
function TryStrToDate(const S: ShortString; out Value: TDateTime): Boolean;
|
|
begin
|
|
begin
|