Anton:
> Let b be a block containing your session times.

That works if the durations are hours:minutes:seconds -- you are using 
REBOL's standard date arithmetic.

But, if I read Stuart's question right, he has days:hours:minutes. They don't 
add right in the same way:

1:12:00 + 1:12:00 should be 3:00:00 in his example (1 day & 12 hours, twice)

In REBOL, 1:12:00 + 1:12:00 =  2:24

Here's a couple of functions that misuse the date format to treat it as d:h:m 
for addition.

The result is in hours:minutes -- you'll need a bit more arithmetic to 
convert that to days:hours:minutes -- after dividing to get the average, that is.

make-hm: func [d1 [time!] ][
 return  to-time join d1/minute [":" d1/second ":00"]
]
add-dhm: func [d1 [time!] d2 [time!] ][
 return (make-hm d1)
   + (make-hm d2) 
   + (24 * 3600 * to-time (d1/hour + d2/hour))
]

;; examples:

add-dhm 1:12:0 1:12:0   ;; 1.5 days + 1.5 days
== 72:00   ;; seventy-two hours = three days
add-dhm 0:30:30 0:30:30
== 61:00
add-dhm 2:1:45 0:0:15
== 50:00


Sunanda.


Sunanda
-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.

Reply via email to