Re: IsoWeek Function
- To: mathgroup at smc.vnet.net
- Subject: [mg127322] Re: IsoWeek Function
- From: "Hans Michel" <hmichel at cox.net>
- Date: Mon, 16 Jul 2012 05:00:28 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <20120716034417.DD63E6857@smc.vnet.net>
See: http://mathematica.stackexchange.com/questions/4551/determining-the-week-of- a-year-from-a-given-date https://groups.google.com/forum/?hl=bn&fromgroups#!topic/comp.soft-sys.math. mathematica/PbwD8fETs3A There maybe even easier ways to implement this functionality. http://en.wikipedia.org/wiki/Calculating_the_day_of_the_week Hans -----Original Message----- From: Murta [mailto:rodrigomurtax at gmail.com] Sent: Sunday, July 15, 2012 10:44 PM To: mathgroup at smc.vnet.net Subject: [mg127322] IsoWeek Function Hi All Please, in Mathematica 9 include IsoWeek functions in the standard into DateList and DateString. It would be simple if we have a "ISOWeekYear" and "ISOWeekNumber" as in Oracle and SQL. Today it's necessary to implemente our own functions, and I get very slow performance results. I use that to take ISO Week numbers: ISOWeek[x_]:=Module[{baseDate,year454,weekNames,numWeek}, weekNames={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Satu rday"}; year454=First@DateList@DatePlus[x,-Position[weekNames,DateString[DatePlus[x, -1],{"DayName"}],1][[1,1]]+4]; baseDate={year454,1,3}; numWeek=IntegerPart[1/7(DateDifference[baseDate,x]+Position[weekNames,DateSt ring[baseDate,{"DayName"}],1][[1,1]]+5)]; {year454,numWeek} ] Example ISOWeek["20120101"] {2011,52} I tried to compile it, but with no sucess.. Any clue? Another tip for the developer is create an string "WeekDayNumber", that can return the week day number. Today we have option just to names. tks in advance Murta
- References:
- IsoWeek Function
- From: Murta <rodrigomurtax@gmail.com>
- IsoWeek Function