All list elements are numeric, and come straight out of a struct tm. ... In particular this means that #mon has the range 0..11, $wday has the range 0..6, and the year has had 1,900 subtracted from it. (You can remember which ones are 0-based because those are the ones you're always using as subscripts into 0-based arrays containing the month and day names.)