function DateToLongJulian(Date: TDateTime): String;
var
Year, Month, Day: Word;
FirstDay, Today: Longint;
begin
DecodeDate(Date, Year, Month, Day);
FirstDay := DateToAbsolute(EncodeDate(Year, 1, 1));
Today := DateToAbsolute(Date);
Result := FormatDateTime('yyyy', Date) + FormatFloat('000', Today - FirstDay + 1);
end;