Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как сделать сумму времени (datetime) в отчете. / 4 сообщений из 4, страница 1 из 1
09.06.2009, 09:51
    #36032381
philips
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сумму времени (datetime) в отчете.
Как сделать сумму времени (datetime) в отчете. Нужно только сумма времени.
...
Рейтинг: 0 / 0
09.06.2009, 09:59
    #36032399
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сумму времени (datetime) в отчете.
philipsКак сделать сумму времени (datetime) в отчете. Нужно только сумма времени.
Вообще-то сумма времени для DateTime не определена в принципе. Суммировать можно только временные интервалы.
...
Рейтинг: 0 / 0
09.06.2009, 10:25
    #36032463
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сумму времени (datetime) в отчете.
philipsКак сделать сумму времени (datetime) в отчете. Нужно только сумма времени.
Извлеките время в формате ЧЧ.ММ из datetime и затем суммируйте, например так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
FUNCTION SumTime (m.lTime1, m.lTime2)
*-- Суммируем два времени в формате ЧЧ.ММ

LOCAL m.lnMinSum, m.lnHourSum, m.lnSum

IF m.lTime1 =  0 . 00 
	m.lnSum = m.lTime2
ELSE
	IF m.lTime2 =  0 . 00 
		m.lnSum = m.lTime1
	ELSE
		m.lnHourSum = INT(m.lTime1) + INT(m.lTime2)
		m.lnMinSum = (m.lTime1 - INT(m.lTime1))* 100  + (m.lTime2 - INT(m.lTime2))* 100 
		IF m.lnMinSum >=  60 
			m.lnHourSum = m.lnHourSum +  1 
			m.lnMinSum = INT(m.lnMinSum -  60 )
		ENDIF
		m.lnSum = VAL(ALLTRIM(STR(m.lnHourSum)) + "." + PADL(INT(m.lnMinSum),  2 , "0"))
	ENDIF
ENDIF
RETURN (m.lnSum)
ENDFUNC
С уважением, Алексей
...
Рейтинг: 0 / 0
09.06.2009, 15:36
    #36033518
Tohan_ORA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать сумму времени (datetime) в отчете.
philipsКак сделать сумму времени (datetime) в отчете. Нужно только сумма времени.

Если очень хочется то можно проссумировать и время :-):
Код: plaintext
1.
2.
3.
4.
5.
6.
FOR i= 0  TO  2 
   for j= 0  to  20 
     insert into ct values(DATEtime()+j+ 60 * 60 * 24 *i)
   endfor
endfor

SELECT SUM(CAST(TTOC(dt, 1 ) as n( 20 ))) FROM ct
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как сделать сумму времени (datetime) в отчете. / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]