marcin
10/13/2005 1:21:00 PM
i use the following method
static int weekOfYear(date _curDate)
{
int weekJan1st;
int dayJan1st;
int week;
int dayOfWeek = firstDayOfWeek();
int numDays;
int firstMonday, dayMonday;
weekJan1st = wkofyr(dateStartYr(_curDate));
dayJan1st = dayofwk(dateStartYr(_curDate));
numDays = date2num(_curDate) - date2num(dateStartYr(_curDate));
firstMonday = 0; dayMonday = dayJan1st - 1;
switch(firstWeekOfYear()) // firstWeekOfYr = 2 is the Axapta wkofyr()
way of doing it.
{
case 0: // Week containing 1/1 is the first week of that year.
while(dayMonday!=dayOfWeek)
{
firstMonday--;
dayMonday--;
if(dayMonday<0)
dayMonday = 6;
}
week = 1+(numDays-firstMonday)/7;
break;
case 1: // First full week following 1/1 is the first week of that
year.
while(dayMonday!=dayOfWeek)
{
firstMonday++;
dayMonday++;
if(dayMonday>6)
dayMonday=0;
}
week = 1+(numDays-firstMonday)/7;
break;
case 2: // First week containing at least four days is the first
week of that year.
week = wkofyr(_curDate);
break;
}
return week;
}
example:
static void Job(Args _args)
{
print Global::weekOfYear(today());
pause;
}
"kim" wrote:
> my code show below
> H +=
> Utility::addSpaces(strRem(date2str(stable.CREATEDDATE,321,2,4,2,4,4),"/"),8);
>
> the format is yyyy/mm/dd...please helpe me to convert to yyyy/ww