FĂŒr die Aufzeichnung: Ich habe den Titel von Cicero in Oratio in Catilinam Prima in Senatu Habita ausgeliehen .

Im wirklichen Leben beschÀftigen wir uns oft mit Zeitintervallen. Zahnarzttermine, Hotelzimmerreservierungen, sogar Ihre tÀgliche Mittagspause: Die Planung all dessen ist die Aufgabe, das Zeitfenster an eine Reihe anderer Zeitfenster anzupassen.
, . , 1 . . . , â , â , , , â .

, . , . , ?
, . , , .
, Tempus!
, â Slot. : , from to, DateTime. Slots, AVLTree. , ( ) . , , .
Slots.add/2 â , . , . Slots.merge/2 . , , , , .
Slot: ( ), , . .
Tempus
, . , ; , , , , , .
:
slots =
[
Tempus.Slot.wrap(~D|2020-08-07|), # whole day
%Tempus.Slot{
from: ~U|2020-08-08 01:01:00Z|, # one minute
to: ~U|2020-08-08 01:02:00Z|
},
%Tempus.Slot{
from: ~U|2020-08-08 01:03:00Z|, # one minute
to: ~U|2020-08-08 01:04:00Z|
}
]
|> Enum.into(%Tempus.Slots{})
0 , , .
Tempus.add(slots, ~U|2020-08-08 01:01:30Z|, 0, :second)
#â ~U[2020-08-08 01:02:00Z]
70 , â ~U[2020-08-08 01:00:55Z] â DateTime (5sec + + 60sec + + 5sec):
Tempus.add(slots, ~U|2020-08-08 01:00:55Z|, 70, :second)
#â ~U[2020-08-08 01:04:05Z]
. , .
Slots.merge/2 Stream . , . , , , , , .
, Slots / Slot â (, ).
?
, , .
!