Форум: "Базы";
Текущий архив: 2002.02.28;
Скачать: [xml.tar.bz2];
ВнизВроде простой вопрос, а ответа никто не знает! Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c