Chronos is one of the many Smalltalk-related blogs syndicated on Planet Smalltalk
χρόνος

Discussion of the Essence# programming language, and related issues and technologies.

Blog Timezone: America/Los_Angeles [Winter: -0800 hhmm | Summer: -0700 hhmm] 
Your local time:  

2006-01-12

US Federal Holidays for 2006

2006-01-01->#(#NewYearsDay #Sunday)
2006-01-02->#(#NewYearsDay #Monday)
2006-01-16->#(#MartinLutherKingDay #Monday)
2006-02-20->#(#PresidentsDay #Monday)
2006-05-29->#(#MemorialDay #Monday)
2006-07-04->#(#IndependenceDay #Tuesday)
2006-09-04->#(#LaborDay #Monday)
2006-10-09->#(#ColumbusDay #Monday)
2006-11-10->#(#VeteransDay #Friday)
2006-11-11->#(#VeteransDay #Saturday)
2006-11-23->#(#Thanksgiving #Thursday)
2006-12-25->#(#Christmas #Monday)

Note that both the official day of the holiday, and the day it is observed by the US Government, are both listed (if different.)

The Chronos code used to generate the list is given below:


| holidays |
holidays := SortedCollection sortBlock: [:a :b | a key < b key].
(Timeperiod yearStartingAt: (YearMonthDay year: 2006 month: January day: 1)) every: 1 daysDo: [:day |
| date semanticKey |
date := day start.
(date
annualDateSemanticKeyFrom: SemanticDatePolicy unitedStates
satisfies:
[:key |
semanticKey := key.
(SemanticDatePolicy usFederalHolidaySemanticKeys includes: semanticKey)])
ifTrue: [holidays add: date->(Array with: semanticKey with: date dayOfWeekName)]].
Transcript cr.
holidays do: [:holiday | Transcript cr; show: holiday printString]



No comments: