DateTimeToFileName

> [HTML Version](datetimetofilename.html)

**Синтаксис**

````
function DateTimeToFileName(ADateTime: TDateTime; AExt: string): string;

````
**Описание**

Возвращает имя файла на основе переменной типа TDateTime и расширения AExt. В полученном имени, после даты/времени, в скобках отображаются миллисекунды.

**Пример 1:**

````
var  
  aDate: TDateTime;  
  aStr : string;  
begin  
  aDate := StrToDateTime('15.06.2017 14:45:33');  
  aStr  := DateTimeToFileName(aDate, '.txt'); // результат: переменная aStr = '15.06.2017 14.45.33(000).txt'.  
end.

````
**Пример 2:**

Если стандартный формат функции DateTimeToFileName не подходит (например когда требуется использовать в имени файла дату/время без миллисекунд), то при помощи функции [ZeroPad](zeropad.md) можно сформировать имя файла в требуемом формате. Для этого нужно [создать новый скрипт](via-script-editor.md) с типом события "[Глобальный модуль](globalmodule.md)" и написать свою функцию формирования имени файла в требуемом формате, например:

````
interface  
function myDateTimeToFileName(AVal: TDateTime; aExtFile: string): string;  
  
implementation  
  
// функция формирования имени файла в своем формате на основе переменной типа TDateTime  
function myDateTimeToFileName(AVal: TDateTime; aExtFile: string): string;  
var  
  aDate, aTime, aExt: string;  
begin  
  aDate := ZeroPad(DayOf(AVal), 2) + '.' + ZeroPad(MonthOf(AVal), 2) + '.' + ZeroPad(YearOf(AVal), 4) + ' '; // формируем дату в нужном формате  
  aTime := ZeroPad(HourOf(AVal), 2) + '.' + ZeroPad(MinuteOf(AVal), 2) + '.' + ZeroPad(SecondOf(AVal), 2);   // формируем время в нужном формате  
  Result  := aDate + aTime + aExtFile;    // формируем итоговое имя файла  
end;  
  
end.

````
Далее можно использовать полученную функцию в нужных скриптах, например:

````
var  
  aReport: TM\_Report;  
begin  
  // примеры использования:  
  
  // строим отчет и сохраняем его на клиенте в формате ".xlsx",  
  // с добавлением к имени файла текущей даты/времени в своем формате  
  aReport := ReportBuild('Мой отчет');  
  aReport.Save(GetClientName, 'Мой отчет ' + myDateTimeToFileName(Now, ''), '', rfExcel2007);  
  
  // строим отчет и сохраняем его на клиенте в формате ".docx",  
  // с добавлением к имени файла периода построения отчета в своем формате  
  aReport := ReportBuild('Мой отчет');  
  aReport.Save(GetClientName, 'Мой отчет с ' + myDateTimeToFileName(vrRepFrom.AsDateTime, '') +  
    ' по ' + myDateTimeToFileName(vrRepTo.AsDateTime, ''), '', rfWord2007);  
  
  // создаем текстовый файл с добавлением к имени файла текущей даты/времени в своем формате  
  TextFileOpen('Мой файл ' + myDateTimeToFileName(Now, '.txt'), '', fomRewrite, fcpUTF8);  
end.

````




