# Re: [U2] [OT] Interview Questions

```I ran it through dates from 01 Jan 13 to 31 Dec 2099 and it works
perfectly.  Now I just need to adjust it to include the date in the format
yyyy-ww.```
```

On Sat, Dec 14, 2013 at 12:54 PM, Wols Lists <antli...@youngman.org.uk>wrote:

> On 14/12/13 19:44, Kevin King wrote:
> > I'll have to run this through some testing, as it's definitely simpler
> than
> > the solution I came up with.
> >
> Read the notes at the top, explaining the logic. Satisfy yourself that's
> correct (it is :-), then satisfy yourself that the code actually
> implements it.
>
> What did you come up with?
>
> Cheers,
> Wol
> >
> > On Sat, Dec 14, 2013 at 12:40 PM, Wols Lists <antli...@youngman.org.uk
> >wrote:
> >
> >> On 14/12/13 19:20, Kevin King wrote:
> >>> 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?
> >>>
> >> YES IT IS :-)
> >>
> >> If you read my code, it takes the given date, goes back to the start of
> >> the week, then goes forward to the Thursday. It then works out where in
> >> its year that Thursday falls. This is guaranteed (if the maths is
> >> correct) to give the correct answer.
> >>
> >> Cheers,
> >> Wol
> >>>
> >>> 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
> >>>
> >>
> >> _______________________________________________
> >> 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
```