Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-90554
novomod
2002-02-08 15:10
2002.02.28
TLabel.Backspace.Help!


3-90519
Barmen
2002-02-05 12:20
2002.02.28
У меня, господа программеры, вот такой вот вопросик...


3-90523
Alex_C
2002-02-05 14:06
2002.02.28
Как проверить существует ли столбец в БД?


4-90713
Delphig
2001-12-21 02:37
2002.02.28
Я тут и журнала Хxxxx взял вот такой прикол...............


14-90660
TcP
2002-01-15 15:44
2002.02.28
API и Timer





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский