Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

IsoWeek Function

  • To: mathgroup at smc.vnet.net
  • Subject: [mg127320] IsoWeek Function
  • From: Murta <rodrigomurtax at gmail.com>
  • Date: Sun, 15 Jul 2012 23:44:17 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net

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","Saturday"};
	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,DateString[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



  • Prev by Date: Re: Could someone else verify that an example from the Numerical
  • Next by Date: Re: Could someone else verify that an example from the Numerical
  • Previous by thread: Re: Could someone else verify that an example from the Numerical
  • Next by thread: Re: IsoWeek Function