<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><span style="font-size: 18px;" class="">I use a forked Squeak 4.5 </span></div><div class=""><span style="font-size: 18px;" class="">If i do </span></div><div class=""><div class=""><span style="font-size: 18px;" class="">DateAndTime<span class="Apple-tab-span" style="white-space:pre">     </span> today 2016-11-20T00:00:00+01:00</span></div><div class=""><span style="font-size: 18px;" class="">DateAndTime<span class="Apple-tab-span" style="white-space:pre">        </span> today asUnixTime<span class="Apple-tab-span" style="white-space:pre">   </span> 1479596400</span></div><div class=""><span style="font-size: 18px;" class="">DateAndTime<span class="Apple-tab-span" style="white-space:pre">     </span> fromUnixTime: 1479596400 2016-11-19T23:00:00+01:00</span></div></div><div class=""><span style="font-size: 18px;" class=""><br class=""></span></div><div class=""><span style="font-size: 18px;" class="">The intended use is for put it in FileName compatible to all OS</span></div><div class=""><span style="font-size: 18px;" class=""><br class=""></span></div><div class=""><span style="font-size: 18px;" class="">1479596400NameOfFile.extension</span></div><div class=""><span style="font-size: 18px;" class=""><br class=""></span></div><div class=""><span style="font-size: 18px;" class="">An example</span></div><div class=""><span style="font-size: 18px;" class="">  Go <a href="http://wiki.squeak.org/squeak/recent" class="">http://wiki.squeak.org/squeak/recent</a></span></div><div class=""><span style="font-size: 18px;" class=""><br class=""></span></div><div class=""><span style="font-size: 18px;" class="">Parsing the links and convert the html to objects</span></div><div class=""><span style="font-size: 18px;" class="">Then saving this objects gives</span></div><div class=""><span style="font-size: 18px;" class=""><br class=""></span></div><div class=""><div class=""><span style="font-size: 18px;" class="">1477612800Environment initialize.obj</span></div><div class=""><span style="font-size: 18px;" class="">1477612800Environment withName aName.obj</span></div><div class=""><span style="font-size: 18px;" class="">1477612800Environment.obj</span></div><div class=""><span style="font-size: 18px;" class="">1478131200JSON.obj</span></div><div class=""><span style="font-size: 18px;" class="">1478131200SIXX.obj</span></div><div class=""><span style="font-size: 18px;" class="">1478131200STON.obj</span></div><div class=""><span style="font-size: 18px;" class="">1478476800Monticello Basics.obj</span></div><div class=""><span style="font-size: 18px;" class="">1478563200Seaside status November 2016.obj</span></div><div class=""><span style="font-size: 18px;" class="">1478563200Seaside.obj</span></div></div><div class=""><span style="font-size: 18px;" class=""><br class=""></span></div><div class=""><span style="font-size: 18px;" class="">If you do( DateAndTime fromUnixTime:</span><span style="font-size: 18px;" class="">1478563200)</span><span style="font-size: 18px;" class=""> asDate gives 8 November 2016</span></div><span style="font-size: 18px;" class="">I understand you point but the current implementation is enough to me.</span><div class=""><span style="font-size: 18px;" class=""><br class=""></span></div><div class=""><span style="font-size: 18px;" class="">Edgar<br class=""></span><div class=""><span style="font-size: 18px;" class=""><br class=""></span><div><blockquote type="cite" class=""><div class=""><span style="font-size: 18px;" class="">On Nov 20, 2016, at 01:12, David T. Lewis <<a href="mailto:lewis@mail.msen.com" class="">lewis@mail.msen.com</a>> wrote:</span></div><span style="font-size: 18px;" class=""><br class="Apple-interchange-newline"></span><div class=""><div class=""><span style="font-size: 18px;" class="">On Fri, Nov 18, 2016 at 07:01:29PM +0100, Bert Freudenberg wrote:<br class=""></span><blockquote type="cite" class=""><span style="font-size: 18px;" class=""><br class="">On Fri, Nov 18, 2016 at 2:16 PM, Edgar De Cleene <<a href="mailto:edgardec2005@gmail.com" class="">edgardec2005@gmail.com</a>><br class="">wrote:<br class=""><br class=""></span><blockquote type="cite" class=""><span style="font-size: 18px;" class="">Fellows:<br class="">I found useful add UnixTime at the beginning of file names for you have<br class="">nnnFoo.etc what is compatible with different OS and you easily see ordered<br class="">.<br class=""><br class="">But I my image I do not have how convert this value to DateAndTime again.<br class="">So i attach this just in case some could use it.<br class=""><br class=""></span></blockquote><span style="font-size: 18px;" class=""><br class="">Since we already have DateAndTime>>asUnixTime, having DateAndTime<br class="">class>>fromUnixTime: seems like a reasonable addition. Thank you!<br class=""><br class="">- Bert -<br class=""></span></blockquote><span style="font-size: 18px;" class=""><br class="">Edgar's enhancement looks good to me also, but unfortunately it does not<br class="">work due to a problem in DateAndTime class>>fromSeconds:, which is supposed<br class="">to do this:<br class=""><br class="">   DateAndTime class>>fromSeconds: seconds <br class="">       "Answer a DateAndTime since the Squeak epoch: 1 January 1901"<br class=""><br class=""><br class="">If we agree that the Squeak epoch was supposed to have been defined relative<br class="">to UTC, then #fromSeconds: is broken because it treats its argument as<br class="">seconds since the "local Squeak epoch" (early Squeak VMs were built upon<br class="">the faulty premise of using local time).<br class=""><br class="">Because of this problem in #fromSeconds: we get the following (I am five<br class="">hours from GMT):<br class=""><br class="">   dt1 := DateAndTime now.<br class="">   unixSeconds1 := dt1 asUnixTime.<br class="">   dt2 := DateAndTime fromUnixTime: unixSeconds1.<br class="">   unixSeconds2 := dt2 asUnixTime.<br class="">   dt2 - dt1. ==> 0:04:59:59.890588<br class="">   unixSeconds2 - unixSeconds1. ==> 18000<br class=""><br class="">IMO, Edgar's method is correct and we should fix DateAndTime class>>fromSeconds:<br class="">so that the argument is interpreted as seconds since the UTC Smalltalk epoch.<br class=""><br class=""><OT><br class="">Note also that #asUnixTime truncates (or rounds?) to a whole second, which is<br class="">reasonable given that Unix time(2) does the same thing. But it might deserve<br class="">a method comment if that is the intended behavior. If the method was named<br class="">#asPosixTime, then I might argue that the value should not be rounded or<br class="">truncated.<br class=""></OT><br class=""><br class="">Dave<br class=""><br class=""><br class=""></span></div></div></blockquote></div><br class=""></div></div></body></html>