Функция StrToDateTime в Delphi конвертирует строку с датой и временем в значение типа TDateTime.
StrUtils unit
- function StrToDateTime (const DateTime : string) : TDateTime;
- function StrToDateTime (const DateTime : string; const FormatSettings : TFormatSettings) : TDateTime;
Функция StrToDateTime предназначена для преобразования строки DateTime в значение типа TDateTime.
Во-первых, часть строки с датой должна соответствовать формату, заданному в переменной ShortDateFormat, и использовать символ DateSeparator (точка - разделитель) для разделения значений дня, месяца и года.
Во-вторых, часть с временем, отделенная пробелом от даты должна соответствовать формату, заданному в переменной LongTimeFormat и использовать символ TimeSeparator (точка - разделитель для разделения значений часа, минуты и секунды.
Форматом по умолчанию для Англии является день/месяц/год час:минута:секунда.мсек, где:
- день должен быть в диапазоне 1..31 (зависит от месяца/года);
- месяц должен быть в диапазоне 1..12;
- год должен быть в диапазоне 0..9999 (необязательный параметр);
- час должен быть в диапазоне 0..23;
- минута должна быть в диапазоне 0..59 (необязательный параметр);
- секунда должна быть в диапазоне 0..59 (необязательный параметр);
- миллисекунда должна быть в диапазоне 0..999 (необязательный параметр).
Если год не вводиться, то функция использует текущий год.
Обратите внимание, что, к примеру, 0015-й год должен быть задан вместе с цифрами века; 15-й год будет расценен как относящийся к текущему веку.
Если год двузначный, то век определяется значением переменной TwoDigitYearCenturyWindow.
Если время установлено в 0, то это указывает на начало заданного дня.
Любые ошибки в строке с датой вызовут исключение EConvertError.
Второй вариант этой функции предназначен для использования в потоках. Перед вызовом функции вы должны заполнить запись FormatSettings. Функция делает локальную копию глобальных переменных форматирования, что делает ее потокобезопасной.
Функция StrToDateTime: Показ строковых преобразований года с 2-мя и 4-мя цифрами
var
myDateTime : TDateTime;
begin
myDateTime := StrToDateTime('23/02/75 12');
ShowMessage('23/02/75 12 = '+DateTimeToStr(myDateTime));
myDateTime := StrToDateTime('23/02/2075 12:34:56');
ShowMessage('23/02/2075 12:34:56 = '+DateTimeToStr(myDateTime));
end;
Результат
23/02/75 12 = 23/02/1975 12:00:00
23/02/2075 12:34:56 = 23/02/2075 12:34:56
Похожие функции и команды
DateSeparator — символ используемый для разделения полей отображаемой даты.
DateTimeToStr — конвертирует значение даты и времени TDateTime в строку.
LongTimeFormat — длинная версия времени в строковом формате.
ShortDateFormat — компактная версия даты в строковом формате.
StrToDate — конвертирует строку с датой в значение типа TDateTime.
StrToTime — конвертирует строку с временем в значение с типом TDateTime.
TimeAMString — определяет значение AM в процедуре DateTimeToString.
TimePMString — определяет значение PM в процедуре DateTimeToString.
TimeSeparator — символ, используемый для разделения полей времени.
