<div dir="ltr"><div dir="ltr">I believe Brent developed Chronology from a simple and steadfast conceptual model of time:<div><br></div><div>  - A <i>point</i> in time (DateAndTime+TZ)</div><div>  - A <i>duration</i> of time (Duration)</div><div>  - A <i>span</i> of time beginning from a specific point (Timespan)</div><div><br></div><div>Steadfastly to the model, Minute, Hour and Date implementations emerged as "spans" of time of those given Durations, and beginning from whatever the client-specified point in time was, including TZ.  From there, Chronology left it up to clients to do what was necessary to fit their use cases. </div><div><br></div><div>The problem is that "Canonical Date" is a use-case is immensely common that, yes, it felt like a "longstanding bug" for Chronology not to address it.  We finally did in a way that preserves those original tenets of the domain.</div><div><br></div><div>Best,</div><div>  Chris</div><div><br></div><div><br></div></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Sep 5, 2019 at 6:08 PM Ron Teitelbaum <<a href="mailto:ron@usmedrec.com" target="_blank">ron@usmedrec.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-size:small">Hi Chris,</div><div style="font-size:small"><br></div><div style="font-size:small">Just wondering what the benefit of myDateAndTime asDate holding the timezone information is used for.  Do you report dates based on Timezone from the saved date?  That is the only real benefit I can think of because without the actual time you don't know if the date is wrong for any particular context.  I'm just interested to know how the offset might be used.</div><div style="font-size:small"><br>Thanks!</div><div style="font-size:small"><br></div><div style="font-size:small">All the best,</div><div style="font-size:small"><br></div><div style="font-size:small">Ron Teitelbaum</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Sep 5, 2019 at 4:56 PM Chris Muller <<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi Sean,</div><div><br></div><div>No.  The recent UTCDateAndTime format change to Squeak made no difference in this regard.  The example you gave had already been fixed previously by the introduction of #defaultOffset back in 2012.  Dates created in non-TZ-specific contexts all get a defaultOffset of 0:00.</div><div><br></div><div>So, in your example, '1/1/1901' asDate has no time-specific information, so it would inherit the defaultOffset (0:00), which compares favorably to other Dates with the same offset.  Only Dates which were created via:</div><div><br></div><div>     myDateAndTime asDate</div><div><br></div><div>would inherit the timezone from myDateAndTime, and therefore represent a different period of time than the ones that began at offset 0:00.</div><div><br></div><div> - Chris<br></div><div><br></div><div><br></div><div dir="ltr"><br></div><div dir="ltr">On Wed, Sep 4, 2019 at 11:52 AM Sean P. DeNigris <<a href="mailto:sean@clipperadams.com" target="_blank">sean@clipperadams.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Did the recent changes to Squeak's Date/Time handling (or any 3rd party lib)<br>
ever solve the following longstanding Chronology bug:<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
>Consider this thought experiment: <br>
> At 11:59pm before DST changes, eval aDate := '1/1/1901' asDate. <br>
> Now, wait two minutes and at 12:01am eval self assert: '1/1/1901' asDate =<br>
> aDate and… whammo, an exception! <br>
> The "different" offsets render equal dates unequal depending on when the<br>
> objects were created. <br>
> The fact that the offset is the one active at object creation is the key<br>
> error, because it should be the offset active when the date occurred.<br>
<br>
<br>
<br>
-----<br>
Cheers,<br>
Sean<br>
--<br>
Sent from: <a href="http://forum.world.st/Squeak-Dev-f45488.html" rel="noreferrer" target="_blank">http://forum.world.st/Squeak-Dev-f45488.html</a><br>
<br>
</blockquote></div></div>
<br>
</blockquote></div>
<br>
</blockquote></div></div>