Adding the week number was no big deal. That's a pretty nifty bit of code
there man.  Thanks for sharing.


On Sat, Dec 14, 2013 at 1:03 PM, Kevin King <ke...@precisonline.com> wrote:

> 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

Reply via email to