procedure TfrmMain.btnGetSeveralDaysOfWeekClick(Sender: TObject);
var
sRawDateTime, sDateTime: string;
dtTheDay: TDateTime;
recFormatSettings: TFormatSettings;
begin
with recFormatSettings do begin
DateSeparator:='/';
TimeSeparator:=':';
ShortDateFormat:='yyyymmdd';
LongTimeFormat:='hhmmss';
end;
sRawDateTime:= '20190819 173000';
sDateTime:= GetInsertedDateTimeWithSep(sRawDateTime, recFormatSettings );
dtTheDay:= StrToDateTime( sDateTime, recFormatSettings );
lblDaysOfWeek.Caption:= '1°) DayOfWeek:'+#13#10+''''+
sRawDateTime+''' ('+sDateTime+'|DayOfWeek(EncodeDateTime('+datetimeToStr(dtTheDay)+
'))--> DayOfWeek='+IntToStr( DayOfWeek (dtTheDay) )+'; ';
lblDaysOfWeek.Caption:= lblDaysOfWeek.Caption+#13#10+
'DayOfWeek(EncodeDateTime())--> DayOfWeek='+IntToStr( DayOfWeek (EncodeDateTime(2019, 08, 19, 00, 00, 00, 00)));
lblDaysOfWeek.Caption:= lblDaysOfWeek.Caption+#13#10+#13#10+#13#10+
'2°) DayOfTheWeek:'+#13#10+''''+
sRawDateTime+''' ('+sDateTime+'|DayOfTheWeek(EncodeDateTime('+datetimeToStr(dtTheDay)+
'))--> DayOfTheWeek='+IntToStr( DayOfTheWeek (dtTheDay) )+'; ';
lblDaysOfWeek.Caption:= lblDaysOfWeek.Caption+#13#10+
'DayOfTheWeek(EncodeDateTime())--> DayOfTheWeek='+IntToStr( DayOfTheWeek (EncodeDateTime(2019, 08, 19, 00, 00, 00, 00)));
end;
function TfrmMain.GetInsertedDateTimeWithSep(sDateTime: string; const aFormatSettings: TFormatSettings): string;
var
sDateSep: Char{ == '/'};
sTimeSep: Char{ == ':'};
begin
sDateSep:= aFormatSettings.DateSeparator;
sTimeSep:= aFormatSettings.TimeSeparator;
Result:= Copy(sDateTime, 1, 4) + sDateSep + Copy(sDateTime, 5, 2) + sDateSep + Copy(sDateTime, 7, 2) // date part
+ ' ' +
Copy(sDateTime, 10, 2) + sTimeSep + Copy(sDateTime, 12, 2) + sTimeSep + Copy(sDateTime, 14, 2); // time part
end;