The 8601 week is based on the count of Thursdays but the week starts on the Monday and ends on the following Sunday. I haven't tested this, but is this accounted for in your logic? And what about the situation where Jan 1 (on a Fri, Sat, Sun) is in the 52nd or 53rd week of the prior year?
On Sat, Dec 14, 2013 at 12:14 PM, Wols Lists <antli...@youngman.org.uk>wrote: > On 14/12/13 18:53, Kevin King wrote: > > The most challenging date math we've faced recently (a real project) is > the > > ISO 8601 week calculation. Extremely easy to introduce an off-by-one > error! > > > THAT'S MY CODE! > > And how long has it been on Pickwiki? Absolutely ages! > > How does your solution compare with mine? Six lines of code :-) > http://www.pickwiki.com/cgi-bin/wiki.pl?IsoWeekNum > > I think my code was lifted for this ... > http://www.pickwiki.com/cgi-bin/wiki.pl?DateUtility > Which had the "off by one" introduced :-) > > Cheers, > Wol > > > > On Sat, Dec 14, 2013 at 11:13 AM, Wols Lists <antli...@youngman.org.uk > >wrote: > > > >> On 14/12/13 16:48, Dan Fitzgerald wrote: > >>> Kevin: I'd take the month (verifying; gigo), then run it through a case > >> statement to determine the number of days in that month (sounds like a > >> handy subroutine to have in the toolbox). Then I'd convert to get the > day > >> of the week, another case statement to get the number of days past > >> Thursday, do the math from the last DOM internal date, oconv the result, > >> and grab a cup of dark roast. There are probably more efficient ways, > but > >> that's how I'd work it through my head in an interview. > >> > >> This is pretty much the same problem as "current week of the year" :-) > >> > >> Can't remember off the top of my head, but it's *extremely* easy to make > >> an "off by one" error - I remember someone copying my Pickwiki code and > >> getting it wrong, introducing the very error I'd fixed. > >> > >> Cheers, > >> Wol > >> _______________________________________________ > >> U2-Users mailing list > >> U2-Users@listserver.u2ug.org > >> http://listserver.u2ug.org/mailman/listinfo/u2-users > >> > > _______________________________________________ > > U2-Users mailing list > > U2-Users@listserver.u2ug.org > > http://listserver.u2ug.org/mailman/listinfo/u2-users > > > > _______________________________________________ > U2-Users mailing list > U2-Users@listserver.u2ug.org > http://listserver.u2ug.org/mailman/listinfo/u2-users > _______________________________________________ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users