Time problems are hard. Testing them shouldn't have to be. Recently I had a set of requirements that came with a set of complex time related conditions. There were a total of 27 different outcomes based on a set of inputs, the current time being one of them.