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

Вниз

Вроде простой вопрос, а ответа никто не знает!   Найти похожие ветки 

 
Ser_Grey ©   (2002-02-01 09:08) [0]

Как получить из даты фората "dd.mm.yyyy hh.mm.ss" Дату формата: "dd.mm.yyyy"?
Я пытаюсь так:
udfSub_Str(Date,1,11), но при этом удаляется первая буква если там "0"?
Потом пытался создвть свою функцию:
Function My_Copy(My_Date: PChar) : PChar;
var s: string;
Begin
s:= Copy(My_Date,1,11);
Result:=@s[1];
end;
Резутьтат тот же.
Может кто подскажет другой способ?


 
Alexandr ©   (2002-02-01 09:25) [1]

UDF
F_STRIPTIME
из FreeUDFLib эту библиотеку UDF можно наити на ib.demo.ru

благодарностей не надо.


 
Sergey13 ©   (2002-02-01 09:33) [2]

А если попробовать через DecodeDate. Вот пример их Help

This example uses a button and two labels on a form. When the user clicks the button, the current date and time are reported in the captions of the two labels.

procedure TForm1.Button1Click(Sender: TObject);

var
Present: TDateTime;
Year, Month, Day, Hour, Min, Sec, MSec: Word;
begin
Present:= Now;
DecodeDate(Present, Year, Month, Day);
Label1.Caption := "Today is Day " + IntToStr(Day) + " of Month "
+ IntToStr(Month) + " of Year " + IntToStr(Year);
DecodeTime(Present, Hour, Min, Sec, MSec);
Label2.Caption := "The time is Minute " + IntToStr(Min) + " of Hour "
+ IntToStr(Hour);
end;


 
Alexandr ©   (2002-02-01 09:36) [3]

а если на дельфи, то достаточно округлить значение даты+время, останется только дата.


 
ser_Grey ©   (2002-02-01 10:36) [4]

ПРоблема в том, что надо дату полностью получить, т.е. должно быть так: "01.11.2001", а не так: "1.11.2001"
Даже Copy() в Delphi возвращает вторым способом! А там ведь PChar! Неужели делфи проверят PChar в Copy на наличие "0" в первом символе?
Александр, эта библиотеку еще вчера качал, но она даже не компилится! Может только у меня?


 
AlexSV   (2002-02-01 10:46) [5]

Может быть так (не уверен что понял правильно вопрос):

procedure ...
var
vDate: TDateTime;
sDate: string;
begin
vDate := now;
sDate := DateToStr(now);
end;


 
panov ©   (2002-02-01 11:04) [6]

Так из какого формата все-таки преобразовать надо?
В формате "dd.mm.yyyy hh:nn:ss" не может не быть лидирующего нуля после преобразования TDateTime к String.
Соответственно, и Copy сработает правильно, однозначно.
Если ты строку получаешь не функцией FormatDateTime, тогда как?
Долго еще гадать будем?


 
DenK_vrtz   (2002-02-01 11:10) [7]

Привет!
Может я не понял суть проблемы, но если на Delphi, то через
FormatDateTime("dd.mm.yyyy",Дата, которую нужно привести к формату). И у дня и у месяца впереди будут нули, если значения одночисловые.


 
Ser_Grey ©   (2002-02-01 11:12) [8]

Все, что с делфей связанно, было просто UDF для IB базы.
База, оказывается просто в Date не хранит первый символ, если он="0".
Всем спасибо окончательное решение было:
s:=Copy(Date,1,11)+#0;
if Pos("-",s)=2 Then
S:= "0"+s;
Result:=@s[1];
Подсказали :) Сам я никак.


 
Alexandr ©   (2002-02-01 12:59) [9]

2Serg_Grey:
ну вы, блин, даете.
Нет слов.

1) База в date не хранит строковое представление, а хранит в float.
2) в UDF Rfunc есть функция для форматирования даты.
3) То, что FreeUDFLib не компилируется это проблема твоих кривых рук, впрочем что и так очевидно в твоих действиях.

P.S. Злой я сегодня



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

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

Наверх




Память: 0.49 MB
Время: 0.007 c
3-90475
Alex_C
2002-02-01 16:46
2002.02.28
Как добавить FieldDefs к существующей базе данных?


3-90529
dimich
2002-02-05 18:32
2002.02.28
Помогите с ADO


1-90596
Стас
2002-02-12 14:14
2002.02.28
Перехват сообщений


14-90639
Knight
2002-01-12 13:28
2002.02.28
Преподаватели и их контрольные...


6-90626
dimonf
2001-12-06 20:34
2002.02.28
Народ что такое IHTMLDocument2?