Thread View: mod.std.unix
1 messages
1 total messages
Started by std-unix
Wed, 28 Jan 1987 20:13
Fifty-howmany weeks?
Author: std-unix
Date: Wed, 28 Jan 1987 20:13
Date: Wed, 28 Jan 1987 20:13
60 lines
3267 bytes
3267 bytes
From: seismo!gatech!hpcnof!hpfcla!hpfclj!hpfcdg!rgt Date: Mon, 12 Jan 87 15:21:04 est > 2. If the year begins on Saturday and ends on Monday, it will have 54 > weeks. Obviously they cannot be numbered 00 to 52! Sorry folks, but this is not a bug. This was transcribed from the X3J11 documentation titled "Internationalizing ANSI C" and numbered "X3J11/86-125R". Section 3.2 describes the strftime funtion and describes the %U and %W directives. Both are described as being week numbers beginning with either Sunday or Monday and both list a range of 00 to 52. (The %W directive was changed to a %V directive because it conflicts with an existing X/OPEN directive for the nl_cxtime function, which is almost identical in operation to strftime.) I believe that the intended week number computation is as described in a paper titled "An Overview of Internationalization" by Greger K. Leijonjufvud of Sperry Corporation and Gary L. Lindgren of AT&T (no date or number). In section 3.4.2.4 titled "The Week" it states [with my corrections and clarifications (rgt)]: The 7-day week is now predominant. Each day has its name and is also numbered. the number depends on which day is counted as the starting day of the week: either Sunday or Monday. Weeks are also numbered. Which week tath is counted as the first depends on the weekday of January 1st (i.e., if there are 4 or more January days in the week of Jan 1st, then that is week 1, [number 00 (rgt)] otherwise it is week [51 or (rgt)] 52 of the preceding year. The calculation also depends on whether Sunday is the first or the last day of the week.) The maximum number of weeks in a year would occur in a leap year with January 1st on the Wednesday of the Sunday-first week. Looking at a perpetual calendar, 1964 or 1992 are useful examples. I derive the following table: 1963 week ?? = Dec 22 to Dec 28 1964 week 00 = Dec 29 to Jan 04 ... 1964 week 52 = Dec 27 to Jan 02 1965 week 00 = Jan 03 to Jan 09 Conversely, the minimum number of weeks in a year would be occur in a non-leap year when January 1st was on a Thursday of the Sunday-first week. 1986 week ?? = Dec 28 to Jan 03 1987 week 00 = Jan 04 to Jan 10 ... 1987 week 51 = Dec 27 to Jan 02 1988 week 00 = Jan 03 to Jan 09 Conclusion: A week-aligned year may will have at least 52 weeks and at most 53 weeks. The first day (00) of the first week (00) of the week-aligned year may be as early as Dec 29 and as late as Jan 04. All of the arguements can also be applied to a Monday first week with only minor changes. Volume-Number: Volume 9, Number 33
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads