Преобразование строки в TDateTime на основе произвольного формата

Есть ли в Delphi 5 способ преобразовать строку в TDateTime, где вы можете указать фактический формат для использования?

Я ' м работает на рабочем столе, который принимает задачи с различных рабочих станций. Задачи имеют ряд параметров, некоторые из которых являются датами, но (к сожалению, и вне моего контроля) они передаются как строки. Поскольку задания могут поступать с разных рабочих станций, фактический формат даты и времени, используемый для форматирования дат в виде строки, может (и, конечно же, фактический сделать ) отличаться.

Поиск в Google, единственное быстрое решение, которое я Было обнаружено, что было незаметно изменить переменную ShortDateFormat , а затем восстановить ее исходное значение. Поскольку ShortDateFormat - глобальная переменная, и я работаю в многопоточной среде, единственный способ, которым это будет работать, - это синхронизировать каждый доступ к ней, что совершенно неприемлемо (и невозможно отменить).

Я мог бы скопировать код библиотеки из модуля SysUtils в свои собственные методы и настроить их для работы с указанным форматом вместо глобальных переменных, но мне просто интересно, есть ли что-то более адекватное там, что я пропустил.

С уважением и заранее спасибо,

Виллем

ОБНОВЛЕНИЕ

Короче говоря:

Мне нужно что-то вроде StrToDate (или StrToDateTime ]), с добавленной возможностью указать точный формат, который он должен использовать для преобразования строки в TDateTime.

21
задан Willem van Rumpt 24 September 2010 в 12:22
поделиться