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
TwoDigitYearCenturyWindow
Переменная
Устанавливает порог столетия для преобразований строки года из 2 цифр SysUtils unit
  var TwoDigitYearCenturyWindow : Word;
Описание
Переменная TwoDigitYearCenturyWindow используется при преобразовании строки даты с 2-мя цифрами года в значение TDateTime. Значение TwoDigitYearCenturyWindow вычитается из текущей даты, чтобы установить конверсионный порог.

Например:

TwoDigitYearCenturyWindow: 50 (по умолчанию)
Текущий год: 2006
Тогда порог устанавливается в: 1956
100-летнее окно становится: 1956 - 2055

При преобразовании строки, где год состоит из 2 цифр, типа 75, эти 2 цифры сравниваются с 2-мя последними цифрами порога. Если больше, то дата находится в меньшем столетии, например 1975. Если ниже чем порог, то дата находится в более высоком столетии. Например, 44 дал бы 2044.
Примечания
Если значение TwoDigitYearCenturyWindow является нулевым, то значение всегда устанавливается в текущем столетии, независимо от этих 2 значений цифр.
Похожие команды
StrToDate  Конвертирует строку с датой в значение типа TDateTime

StrToDateTime  Конвертирует строку с датой и временем в значение типа TDateTime

 
Пример кода : Перемещаем порог, чтобы увидеть, как работает преобразование
var
  myDate : TDateTime;
  formattedDate : string;

begin
  // Установите дату с 2-мя цифрами года, используя порог заданный по умолчанию
  myDate := StrToDate('09/05/30');
  ShowMessage('09/05/30 используя порог по умолчанию = '+DateToStr(myDate));

  // Теперь изменяем порог заданный по умолчанию на 80:
  // 2007 (на время написания) - 80 дает 1927
  // 30 больше 22, так что выбирается 1900-ое столетие
  TwoDigitYearCenturyWindow := 80;
  myDate := StrToDate('09/05/30');
  ShowMessage('09/05/30 используя изменённый порог = '+DateToStr(myDate));
end;
09/05/30 используя порог по умолчанию = 09/05/2030
09/05/30 используя изменённый порог = 09/05/1930
 



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