Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
BUG: int() returning wrong values from datetime operatio
Message
From
19/10/2005 13:11:59
 
 
To
19/10/2005 11:55:53
General information
Forum:
Visual FoxPro
Category:
Other
Environment versions
Visual FoxPro:
VFP 9
OS:
Windows XP SP2
Network:
Windows 2000 Server
Miscellaneous
Thread ID:
01058678
Message ID:
01060353
Views:
28
>>You're welcome. One note about saying stores milliseconds. Actually not storing it as milliseconds but it's a real number keeping time as a fraction (terminology differs but result is same technically).
>>Cetin
>
>As a mather of fact, it IS stored in a millisecond format in the DBF. When it is used in memory it is in an floating-point format, giving rise to some rounding artifacts.
>
>(for the complete specs of how it is written to disk see my message in the newsgroup microsoft.public.fox.vfp.dbc on 22 jun 2003)

On dbf:
* someDatatetime
BINTOC(VAL(SYS(11,someDatatetime)),"RS"),BINTOC(Daymsec(someDatatetime),"RS")
On memory:
floatvalue=VAL(SYS(11,someDatatetime))+DaySec/86400
The problems are born because 1/86400 cannot be represented in base2.

Only datetimes with DaySec=k*675 they are exactly stored on memory.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform