Функція 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 — символ, який використовується для розділення полів часу.