Форум: "Базы";
Текущий архив: 2003.02.24;
Скачать: [xml.tar.bz2];
ВнизПочему даты разные ? Найти похожие ветки
← →
Polevi (2003-02-05 16:53) [0]SELECT CAST(37620 AS DATETIME) - 01.01.2003
Writeln(DateToStr(37620)) - 30.12.2002
???
← →
Max Zyuzin (2003-02-05 17:04) [1]А почему они дожны быть одинаковые?
← →
Polevi (2003-02-05 17:08) [2]хм, ОS и DB-server Майкрософтом писаны, с какой радости разные точки отсчета брать непонятно
← →
Reindeer Moss Eater (2003-02-05 17:15) [3]DateToStr тоже MS написал?
← →
Max Zyuzin (2003-02-05 17:18) [4]>Polevi © (05.02.03 16:53)
Извиняюсь... тормознул :) не сразу понял... я думал ты там минусов налепил ;)
← →
gsu (2003-02-05 17:26) [5]приведи один тип к другому и делов то
← →
Polevi (2003-02-05 18:12) [6]какой тип ???
суть в том что в SP поле типа DATETIME кастуется к INT и передается клиенту - на клиенте делаем DateToStr и получаем совсем другую дату (смещение 2 дня)
передавать надо именно INT , так надо, процедура строит дерево дат - Год - Квартал - Месяц - День
← →
Duce (2003-02-05 18:30) [7]Вообще, такая вещь, как день Х, от которого идет отсчет дней и на котором базируется арифметика дат, разные поставщики определяют по разномую Дельф: A TDate value represents the number of days that have elapsed since 12/30/1899. А откуда МС пляшет? Может поэтому...
← →
gsu (2003-02-05 18:39) [8]см Duce © (05.02.03 18:30) и ...
← →
Duce (2003-02-05 18:48) [9]А вообще, просто расширяя тему :)
В КС-системе обычно все, что касается ДейтТайм заточено на серверные значения...Вот! И забудь про DateToStr :()
← →
neXt (2003-02-05 20:25) [10]Если использовать для приёма даты от сервера TField то AsDateTime нормально всё преобразует, т.е. хочу сказать, что не стоит передавать дату в int - передавайте её как дату.
Но если охота изврата то mssql-ная дата в int-овом представлении отличается от дельфийской на 2 (12/30/1899 и 01/01/1900 см Duce © (05.02.03 18:30)), но это меняется настройкой на сервере, так что - риск.
← →
neXt (2003-02-05 20:27) [11]>>Duce © (05.02.03 18:48)
Он же говорит что дерево строит "все, что касается ДейтТайм заточено на серверные значения" - всё, но деревья строить всётки лучше на клиенте.
← →
Polevi (2003-02-06 09:22) [12]как дату передавать не могу, ибо процедура должна возвращать
ID INT, Owner INT, Debet MONEY, Kredit MONEY
- на основе ее делаются отчеты, то есть ID может быть не датой а чем угодно (зависит от типа группировки) - на клиенте виз. компонент все это дело показывает исходя из данной структуры рекордсета
2neXt © (05.02.03 20:25)
я могу быть уверен что разница всегда будет 2 дня ??
где об этом почитать, дайте ссылку плиз..
PS
както кривовато на клиенте DateToStr(MyDate+2) :-)
← →
Polevi (2003-02-06 09:30) [13]2neXt © (05.02.03 20:25)
я имел в виду где в SQL Server меняется точка отсчета ? - я не нашел ..
← →
SergSuper (2003-02-06 11:06) [14]2 Polevi
Какие проблемы?
Передавайте еще одну колонку с датой:
ID INT, Date datetime, Owner INT, Debet MONEY, Kredit MONEY
Можно передавать количество дней от какой-то определённой даты.
Но в любом случае приводить дату к int-у на сервере и ждать что на клиенте обратное преобразование будет соответственное - архисамонадеянно. Не делайте таких штук как DateToStr(MyDate+2)
← →
Polevi (2003-02-06 11:26) [15]2SergSuper (06.02.03 11:06)
наверное так я и сделаю, хотя можно один раз запросить у сервера определенную дату и высчитать дельту, которую потом плюсовать
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.02.24;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c