Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » Elevate Web Builder Technical Support » Support Forums » Elevate Web Builder General » View Thread |
Messages 1 to 5 of 5 total |
DateTime .. 32bits? |
Fri, Apr 10 2015 4:23 PM | Permanent Link |
Bruno Larochelle | I've seen some discussion about DateTime etc, but one thing I can't figure out..
The EWB help file indicates that the DateTime type is a 32-bit integer. That would give it a maximum value of about 4.3 billion. But the # of milliseconds since 1970.. is about 1.4 trillion. This suggest to me that DateTime is possibly a 64 bit integer (??). Sample code below does output correctly.. about 1.4 trillion seconds since 1970 right 'now'. //////////////// procedure TfrmMain.Button1Click(Sender: TObject); var dtTest: Datetime; begin dtTest := now; showmessage(intToStr(integer(dtTest))); end; //////////////// more curious than anything else, because it appears to be functional Logiciels Bitwise Software Edmonton, AB, Canada |
Mon, Apr 13 2015 3:52 AM | Permanent Link |
Matthew Jones | Bruno Larochelle wrote:
> The EWB help file indicates that the DateTime type is a 32-bit > integer. > > That would give it a maximum value of about 4.3 billion. > > But the # of milliseconds since 1970.. is about 1.4 trillion. > > This suggest to me that DateTime is possibly a 64 bit integer (??). It is indeed in milliseconds, but if I recall correctly, Javascript doesn't have an integral number, so it won't be 32 bits. A quick google shows that it has a "Number" type, which has a Number.MAX_SAFE_INTEGER value of (2^53 - 1) which therefore implies a 52 bit integer. Apparently that's 9007199254740991 in value. A good question, and the help needs updating! 8-) -- Matthew Jones |
Mon, Apr 13 2015 11:13 AM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Bruno,
<< The EWB help file indicates that the DateTime type is a 32-bit integer. That would give it a maximum value of about 4.3 billion. But the # of milliseconds since 1970.. is about 1.4 trillion. This suggest to me that DateTime is possibly a 64 bit integer (??). >> This is a hard thing to describe since EWB has both a design-time execution environment that is more like Delphi, as well as the execution environment, which is Javascript with all of its number weirdness. The 32-bit integer description is *mostly* correct. Yes, you can use integers larger than 32-bits, but not if you want to do things like bitwise operators. Therefore, the manual just says 32-bit. However, I've changed it to say 52-bit in order to be more exact. The EWB design-time execution engine can actually do full 64-bit, signed integers, but that's just a minor difference that probably won't affect anyone dealing with the design-time environment for controls/components. The one thing that was definitely wrong, however, was that the Double type was described as a 32-bit floating point number in the manual. That should definitely be "64-bit". Tim Young Elevate Software www.elevatesoft.com |
Mon, Apr 13 2015 11:14 AM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Bruno,
BTW, the "design-time" references in that last post were all about EWB 2, not EWB 1. Tim Young Elevate Software www.elevatesoft.com |
Mon, Apr 13 2015 1:41 PM | Permanent Link |
Bruno Larochelle | excellent, thanks for the response
"Tim Young [Elevate Software]" wrote: Bruno, BTW, the "design-time" references in that last post were all about EWB 2, not EWB 1. Tim Young Elevate Software www.elevatesoft.com |
This web page was last updated on Thursday, October 3, 2024 at 06:23 AM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |