WeekOfCalendarYear

 (Available in 01 TS COM - TS_COM_DateTimeFromVariant)

Purpose

Get the 'WeekOfCalendarYear' value

Syntax

? oDateTimeFromVariant:WeekOfCalendarYear

Description

Get the 'WeekOfCalendarYear' value

Returns

DWORD, WeekOfCalendarYear

Example

FUNCTION Start( )
LOCAL dwWOCY AS DWORD
LOCAL oDate AS TS_DateTimeFromVariant
LOCAL oCon AS Console
LOCAL cOut AS STRING
LOCAL dD AS DATE
LOCAL X AS DWORD
LOCAL Y AS DWORD
// TS_COMFirstDayOfCalendarWeek(1) // The default value is 2 ( Monday )
   oCon:=Console{ }
   oCon:Clear( )
   dD:=2002.1.1
   oDate:=TS_DateTimeFromVariant{ }
   FOR X:=1 UPTO 7
      oDate:DateVal:=dD
      oCon:WriteLine( DToC( dD )+", DoCW="+NTrim( oDate:DayOfCalendarWeek  ; ...
     ... )+", CDow="+MyCDoW( dD )+", DoW="+NTrim( DoW( dD ) ) )
      dD+=1
   NEXT
   oCon:WriteLine( "=== Any key ===" )
   oCon:Read( )
   oCon:WriteLine( "" )
   FOR X:=1990 UPTO 2005
      dD:=ConDate( X, 1U, 1U )
      dD-=5
      oDate:DateVal:=dD
      dwWOCY:=oDate:WeekOfCalendarYear
      FOR Y:=1 UPTO 10
         oDate:DateVal:=dD
         cOut:=DToC( dD )+", DoCW="+NTrim( oDate:DayOfCalendarWeek )+"" ; ...
        ... +"CDow="+MyCDoW( dD )+", DoW="+NTrim( DoW( dD ) )
         cOut+=", WoCY="+NTrim( oDate:WeekOfCalendarYear )
         IF dwWOCY<>oDate:WeekOfCalendarYear
            dwWOCY:=oDate:WeekOfCalendarYear
            cOut+=" <<<=== New"
         END
         oCon:WriteLine( cOut )
         dD+=1
      NEXT
      oCon:WriteLine( "=== Any key ===" )
      oCon:Read( )
   NEXT
   oCon:WriteLine( "Done" )
   oCon:Read( )
RETURN

FUNCTION MyCDoW( dDate AS DATE ) AS STRING PASCAL
LOCAL cMyCDoW AS STRING
   cMyCDoW:=PadR( CDoW( dDate ), 10 )
RETURN cMyCDoW

Source

ACCESS WeekOfCalendarYear AS DWORD PASCAL CLASS TS_DateTimeFromVariant
LOCAL dwWeekOfCalendarYear AS DWORD
LOCAL dDate AS DATE
   TSTrace Enter
   IF SELF:IsValidObject
      dDate:=SELF:DateVal
      IF dDate==NULL_DATE
         dwWeekOfCalendarYear:=0U
      ELSE
         dwWeekOfCalendarYear:=SELF:_ComputeWeekForDate( SELF:_MidDayOfWeekForDate ; ...
        ... ( dDate ) )
      END
   ELSE
      TSTrace Warning "!SELF:IsValidObject"
      dwWeekOfCalendarYear:=0U
   END
   TSTrace Leave
RETURN dwWeekOfCalendarYear