Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разница двух DateTime, Результат какой получается? 
:(
    Опции темы
tikitiki
Дата 7.9.2005, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 10.5.2005

Репутация: нет
Всего: нет



Кто-нибудь может сказать, что в результате
разницы двух переменных типа DateTime получается?
Хотелось бы научиться манипулировать нормально
этим типом. Я его использую, но наугад и не совсем наверное
правильно. Как определить хотя бы разницу между двумя
датами и как результат применить для умножения (например,
человек зарабатывает 1 коп/день.Как определить сколько
он заработал с 12:00 до 13:00 в один и тот же день или например
с 12:30 01.01.05 до 13:30 02.02.05. Я понимаю, что надо разность
даты и времени вычислить, затем 1 коп. умножить на то что
получилось. Но опять же не пойму разность в каком виде у меня
будет). И ещё. Я разность даты и времени всё же использую
в коде и в SQL, но у меня сомнения возникают насчёт
того, что у меня на границах интервала времени получается и правильно
ли я определяю интервал времени? Например у меня такой запрос к БД:
SELECT Numnmb,
SUM(Numcost*(c.Datetwo-c.Dateone))
as Summa1
FROM client c,number n
WHERE
(c.Dateone>="1.1.5 12:0" AND c.Datetwo<="31.12.5 12:0")
and c.Numnmb=n.Numnmb
GROUP BY Numnmb
В запросе Datetwo и Dateone -поля из одной таблицы типа DataTime,
Datetwo -отвечает за конечную дату интервала времени, Dateone-за
начальную. Не углубляясь в запрос, можно сказать-правильно я использую
тип DataTime для расчётов в контексте выше сказанного?




--------------------
PM   Вверх
tikitiki
Дата 7.9.2005, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 10.5.2005

Репутация: нет
Всего: нет



Я коснулся по-моему слишком большого вопроса. Попробую упростить. Избегу ли я ошибок, если пользоваться запросами наподобие того, что выше? Вычитал, что DateTime представляет из себя на самом деле тип float, у которого целая часть-дата, дробная -время. Хотелось бы поконкретней.


--------------------
PM   Вверх
Snowy
Дата 7.9.2005, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 2
Всего: 484



Целая часть - кол-во дней прошедших с 30.12.1899.
Дробная - кол-во секунд с начала суток.


Это сообщение отредактировал(а) Snowy - 7.9.2005, 19:45
PM MAIL   Вверх
SergeBS
Дата 8.9.2005, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 11
Всего: 22



Народ, не путайте две разницы. В Делфи - да, целая часть - дни, дробная - соответственно дробная часть дня. Не количество секунд.
Но у серверов форматы даты - не такие. И поля называются по-разному. Например:
MS SQL - smalldatetime - дата и время с точностью до 1 мин. с 1.01.1900 по 6.06.2079
datetime - дата и время с точностью 3.33 мс с 1.01.1753 по 31.12.9999.
И потому дата в запросе и дата в результате чтения поля - отличаются.
Прочтешь поле из Делфи-клиента - получишь Делфи-формат.
Напишешь запрос на вычисление чего-то на сервере - получишь для вычисления даты в формате сервера.

tikitiki
Читай доку по серверу насчет формата даты и функций, работающих с ней.
PM MAIL   Вверх
tikitiki
Дата 8.9.2005, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 10.5.2005

Репутация: нет
Всего: нет



Яснее просто не бывает. Беру на вооружение.


--------------------
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0437 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.