Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Datum souboru v Delphi

Zdravím.
Před stažením souboru s HTTP servru ziskam datum a čas naposledy uprveneho souboru ve formatu fri, 30 Mar 2012 03:18:56
Když vytahnu datum toho souboru po stažení tak ho mam ve formatu 30.3.2012 2012 03:18:56
Jak převest ten formatu fri, 30 Mar 2012 03:18:56 abych je moh porovnat.

Předmět Autor Datum
Zkoušel jsi zpracovat řetězce a převést to na normální formát DateTime? Funkce Copy(), EncodeDate(),…
Jan Fiala 06.04.2012 08:50
Jan Fiala
Dalsi moznosti je naformatovat cas souboru po stazeni do formatu stejneho jako server. Ten format ma…
Jan Fiala 06.04.2012 08:52
Jan Fiala
Netuším, akým spôsobom získavaš údaje o poslednej modifikácii súboru, ale IMHO porovnávať 2 reťazce…
pme 06.04.2012 10:47
pme
Se souboru na disku to mam TDateTime var datumCas: TDateTime; begin datumCas := FileDateToDateTime(…
Karlik.M 06.04.2012 11:34
Karlik.M
"Trošku" som pátral po riešení, ale nedopátral som sa... Jediné rýchle riešenie je použiť Synapse TC…
pme 06.04.2012 14:11
pme
Děkují mooooc za pomoc. poslední
Karlik.M 08.04.2012 08:11
Karlik.M

Netuším, akým spôsobom získavaš údaje o poslednej modifikácii súboru, ale IMHO porovnávať 2 reťazce je nezmysel...
Porovnávať môžeš hodnoty TDateTime.

function GetFileDateTime(FileName: string): TDateTime;
var intFileAge: LongInt;
begin
  intFileAge := FileAge(FileName);
  if intFileAge = -1 then
    Result := 0
  else
    Result := FileDateToDateTime(intFileAge)
end;

var
Datum1, Datum2: TDateTime;
if Datum1 <> Datum2 then ...

Se souboru na disku to mam TDateTime

var
datumCas: TDateTime;
begin
datumCas := FileDateToDateTime(FileAge('.\text.txt'))

S HTTP servru to mam přes GET jako string 'fri, 30 Mar 2012 03:18:56'
Tudiš to potřebují převest do TDateTime.

"Trošku" som pátral po riešení, ale nedopátral som sa...
Jediné rýchle riešenie je použiť Synapse TCP/IP library, v podstate Ti stačia 2 unity:
synautil.pas + synafpc.pas

uses
  synautil;
var
  MyDate: TDateTime;
begin
  MyDate:= DecodeRfcDateTime('fri, 30 Mar 2012 03:18:56 CEST');

Jediné čo je nutné definovať v stringu - časovú zónu CEST - inak môže byť rozdiel ako u mňa 2 hodiny...

Zpět do poradny Odpovědět na původní otázku Nahoru