Hi Petr, On Tue, 16 Oct 2018 at 21:25, Petr Fischer via Pharo-users <pharo-users@lists.pharo.org> wrote:
My problem - use Dates as Dictionary keys - shortly:
d1 := Date today translateToUTC. d2 := Date today.
d1 = d2. (true!)
Which timezone are you in? CEDT (UTC+0200) gives false for this. Date is implemented primarily as a timespan, so days in different timezones are considered different. If you do: | d1 d2 | d1 := Date today translateTo: (TimeZone abbreviated: 'UTC') offset. d2 := Date today translateTo: (TimeZone abbreviated: 'EST') offset. { d1 = d2. d1 equals: d2 } You can see the difference. Of course, this doesn't help with using Date as a key in a dictionary. Probably your best option is to look at Sven's excellent ZTimezone package (although I haven't tested it in this scenario). I can't find the repository right now (I think Sven moved it to github). Sven? Cheers, Alistair
d := Dictionary new. d at: d1 put: 1.
d at: d1. (ok) d at: d2. (bad - key not found)
---
pf