Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.007 c
3-75840
SasaR
2003-02-07 10:32
2003.02.24
Теоретический совет хочу...


1-75909
badaxe
2003-02-14 11:23
2003.02.24
Как запихать картинку в Popup Menu?


6-76079
Chak
2003-01-01 16:51
2003.02.24
Докачка файла по сети!


14-76088
Вадим
2003-02-09 17:47
2003.02.24
ИМХО


1-75987
Ska
2003-02-12 20:14
2003.02.24
Вывод информации в созанное MDI окно





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский