Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Как преобразовать строку в дату.   Найти похожие ветки 

 
TNK   (2012-02-15 10:55) [0]

Здравствуйте ! На вашем сайте нашла пример - см. ниже . Мне нужно преобразовать строку   <"6-Apr-1998"> в дату -->  <06.04.1998> .
Когда пытаюсь пробовать пример (см. ниже) , появляется ошибка в каждой строке примера  - <Invalid variant conversion>  . В чем же причина ?  

Пример  с  сайта :  

Как преобразовать строку в дату.
Функция StrToDate преобразует только числа, поэтому, если у Вас месяцы в виде имён, то прийдётся использовать VarToDateTime.
Пример:

 var
   D1, D2, D3 : TDateTime;
 begin
   D1 := VarToDateTime("December 6, 1969");
   D2 := VarToDateTime("6-Apr-1998");
   D3 := VarToDateTime("1998-Apr-6");
   ShowMessage(DateToStr(D1)+" "+DateToStr(D2)+" "+
               DateToStr(D3));
 end;


 
MBo ©   (2012-02-15 11:10) [1]

Caption := DateTimeToStr(VarToDateTime("15 февраля 2012"));
работает, т.к. вызов функции приводит к
VarDateFromStr(S, VAR_LOCALE_USER_DEFAULT, 0, Result);

Правда, попытка добавить "г." (у меня в настройках полная дата выглядит как "15 февраля 2012 г.") не фурычит


 
Inovet ©   (2012-02-15 11:12) [2]

> [0] TNK   (15.02.12 10:55)

Локаль русская?


 
Омлет ©   (2012-02-15 11:12) [3]

В русской локали Apr = Апр
D2 := VarToDateTime("6-Апр-1998");


 
Anatoly Podgoretsky ©   (2012-02-15 13:02) [4]

> TNK  (15.02.2012 10:55:00)  [0]

Пиши свою функцию, что бы не зависить от локалей.



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.05 c
2-1339501345
ostryak5
2012-06-12 15:42
2013.03.22
Помогите решить задачу, пожалуйста.


15-1344013780
alexdn
2012-08-03 21:09
2013.03.22
Curiosity


2-1348424060
buddypetrovich
2012-09-23 22:14
2013.03.22
serversocket1 vs clientsocket1


15-1324935817
Германн
2011-12-27 01:43
2013.03.22
eBook


6-1241416373
ForumReader
2009-05-04 09:52
2013.03.22
Сломал голову на фреймах в TWebBrowser :( Помогите...