Yes I agree. We may have a preference to set the week day start ( fistDayOfWeek ?) .
After that we could agree on the fact the first week is the first complete week (otherwise it can be a preference). Then we need to find the first day index of the first fistDayOfWeek. (Date year: self year day: 1) weekdayIndex -> gives the index according to the preference (for now Sunday -> 1) Then it’s quite straightforward to get the week number. Just have to check if the current date is in the last week of the previous year (returns 52 or 53). I did something but not sure yet (but no preference). There are been some works on time representation (Chronos if I remember well ? but cannot load in Pharo 5, depends on OSProcess). An interesting read [1]. Cheers, Cédrik ps: http://stephane.ducasse.free.fr/Teaching/CoursAnnecy/0506-M1-COO/A%20New%20Object-Oriented%20Model%20of%20the%20Gregorian%20Calendar.pdf Interesting to know. But I see this already seems hard coded... Date nameOfDay: 1 "--> #Sunday" Timespan subclass: #Date poolDictionaries: 'ChronologyConstants' ChronologyConstants class >> initialize DayNames := #(Sunday Monday Tuesday Wednesday Thursday Friday Saturday). Also seems to have changed at some point, with the historical nameOfDay recorded in the Terse Guide [1] circa 2010 shown to be different. Perhaps this is something we should make a regional preference. Was there any ongoing works on other regional preferences?
