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
ПРЕДУПРЕЖДЕНИЕ - вышеупомянутое значение неправильно
 



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