Я бы регулярными выражениями выбирал дату и время. Потом функциями аля StrToDateTime() переводил в DateTime. А воспроизводить время не Sleep()'ом, а в зависимости от разницы во времени, притом в отдельном потоке. Тут придётся попрограммировать немного, если есть разницы в дни.