You can add dayDuration.join() to wait for the first coroutine to complete. To stop collect it is enough to call cancel().
dayDuration.join()
cancel()