Модуль: SysUtils
Описание
Функция преобразовывает строковое представление даты в значение типа TDateTime. Исходная строка должна состоять из двух или трех чисел, отделенных символами-разделителями. Символ, используемый в качестве разделителя, определяется значением глобальной переменной DateSeparator. Порядок следования дня месяца и года определяется глобальной переменной ShortDateFormat. Возможны следующие комбинации: месяц/день/год, день/месяц/год и год/месяц/день. Если строка содержит только два числа, то они воспринимаются, как день и месяц (месяц/день или день/месяц) текущего года. Если значение года использует только два символа, то век (XX или XXI), к которому будет отнесен данный год, будет определяться значением глобальной переменной TwoDigitYearCenturyWindow. Если значение данной переменной равно 0, то все значения года (0..99) будут отнесены к XX в. Если значение TwoDigitYearCenturyWindow>0, то вычисляется "базовый" год ("базовый год":= "текущий год"-TwoDigitYearCenturyWindow), и все года начиная с "базового" будут относиться к XX веку, а все года меньше "базового", к XXI веку.
Если строка содержит недопустимое значение даты, то возникает исключение EConvertError.
Изменяя значение переменной TwoDigitYearCenturyWindow. можно увеличить срок работоспособности приложений, в которых для значения года возможно использовать только две цифры. Наиболее удачным решением является использование четырехразрядной записи лет.
Пример
var
D: TDateTime;
S: string;
begin
D:= StrToDate('04.10.1999');
S:= FormatDateTime('d mmm yy г.',D); {S := '4 окт 99 г.'}
MessageDlg( S, mtInformation, [mbOk], 0);
end;