Hi all,

Got a weird one for you and I haven't been able to find anything on it. Essentially, for some date/time combinations, CDate is "losing" a second!
Here's the output from my testing in the immediate window:Scenario 1: Where'd the second go???
Code:
ab1$="9999-12-31 11:08:37"
?ab1$
9999-12-31 11:08:37
?cdate(ab1$)
31/12/9999 11:08:36 '<----- See?! Why is this not 37?
Scenario 2: OK
Code:
ab1$="9999-12-31 11:08:31"
?ab1$
9999-12-31 11:08:31
?cdate(ab1$)
31/12/9999 11:08:31
Scenario 3: 1 Second less!
Code:
ab1$="9999-12-31 11:08:13"
?ab1$
9999-12-31 11:08:13
?cdate(ab1$)
31/12/9999 11:08:12  '<--- HUH?
Oh, and in case anyone was thinking of telling me to use DateSerial and TimeSerial:
Scenario 1:
Code:
?cdate(DateSerial(9999, 12, 31))
31/12/9999 
?cdate(timeSerial(11,08,58))
11:08:58  '<--- Fine here right?
?cdate(DateSerial(9999, 12, 31) + timeSerial(11,08,58))
31/12/9999 11:08:57 '<--- Where did the second go!?
Scenario 2:
Code:
?cdate(DateSerial(9999, 12, 31))
31/12/9999 
?cdate(timeSerial(11,08,31))
11:08:31 
?cdate(DateSerial(9999, 12, 31) + timeSerial(11,08,31))
31/12/9999 11:08:31
Scenario 3:
Code:
?cdate(DateSerial(9999, 12, 31))
31/12/9999 
?cdate(timeSerial(11,08,13))
11:08:13 
?cdate(DateSerial(9999, 12, 31) + timeSerial(11,08,13))
31/12/9999 11:08:12 '<--- Yep, still missing!
Can anyone shed some light on my addled brain?
Thanks.
-EM