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

Reply via email to