isNearToCurrentTime uses offsets internally
New offset isNear() function

And use it in isNearToCurrentTime
New withTolerance and contains methods

Change the way that isNearToCurrentTime is implemented, so it gets a Range object representating a tolerance around the current time. It then tests the target time to see if it lies within that range.