Delphi справочник - Форум программистов - Навигация  
 A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z      По первой букве  
System     SysUtils     StrUtils     DateUtils     FileCtrl     ConvUtils     StdConvs     Math     Classes     Dialogs     Types     Variants    ПО Unit   Compiler directives     Directives     Keywords     Types     Variables     Constants     Functions     Procedures    По категории  


Основы Delphi
EndOfADay
Функция
Генерирует значение TDateTime, установленное на самый конец дня DateUtils unit
  
1 function EndOfADay ( const Year, Month, Day : Word ) : TDateTime;

2 function EndOfADay ( const Year, DayOfYear : Word ) : TDateTime;
Описание
Функция EndOfADay генерирует значение TDateTime, установленное на данный год, месяц и день со временем, установленным на 1 миллисекунду перед полуночью.

Версия 1

Позволяет определить отдельно Месяц (Month) и День (Day). Месяц должен быть между 1 (Январь) и 12 (Декабрь). День должен быть между 1 и 31, в зависимости от года и месяца.

Версия 2

Позволяет, вместо этого, определить Месяц (Month) и День (Day) как DayOfYear.
Примечания
ПРЕДУПРЕЖДЕНИЕ там, где появляется ошибка в Delphi (как проверено автором, использующим Delphi, 7.0 Delphi 7.0 Professional build 4.453), где длинная версия синтаксиса неправильна используйте подпрограмму EndOfAMonth, чтобы вычислить конец дня.

Ошибки в значениях параметра дают EConvertError.
Похожие команды
EndOfAMonth  Генерация значения TDateTime, установленное на самый конец месяца

 
Пример кода : Установка даты на последнюю миллисекунду 20-го века - иллюстрация бага Delphi
var
  mydate : TDateTime;

begin
  myDate := EndOfADay(1999, 365);

  // Гарантируем, что миллисекунды будут показаны
  LongTimeFormat := 'hh:mm:ss.zzz';
  ShowMessage('Конец 1999, используя короткий синтаксис = '+DateTimeToStr(myDate));

  myDate := EndOfADay(1999, 12, 31);

  // Гарантируем, что миллисекунды будут показаны
  LongTimeFormat := 'hh:mm:ss.zzz';
  ShowMessage('Конец 1999, используя длинный синтаксис = '+DateTimeToStr(myDate));
  ShowMessage('ПРЕДУПРЕЖДЕНИЕ - вышеупомянутое значение неправильно');
end;

Конец 1999, используя короткий синтаксис = 31/12/1999 23:59:59.999
Конец 1999, используя длинный синтаксис = 30/01/2000 23:59:59.999
ПРЕДУПРЕЖДЕНИЕ - вышеупомянутое значение неправильно
 



© Форум Delphi   |  Блог программистов   |  Создание и продвижение сайтов - "Веб сателлит"  |  Ссылки   |  Английская версия