FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Sunday calc
Posts: 222
Joined: Mon Jun 04, 2012 12:00 PM
Sunday calc
Posted: Tue Sep 18, 2012 05:21 PM

How I can calculate how many sundays there are in a month ?

Posts: 389
Joined: Mon Oct 13, 2008 11:26 AM
Re: Sunday calc
Posted: Tue Sep 18, 2012 05:52 PM
Code (fw): Select all Collapse
Function GetSunday( nMonth, nYear )
Local nCont := 0, nSunday := 0, dDayIni := cTod("01/"+StrZero(nMonth,2)+"/"+StrZero(nYear,4))

   While Month(dDayIni+nCont) = nMonth
      If Dow(dDayIni+nCont++) = "Sunday"
         nSunday++
      end
   end

Return nSunday
Email: SamirSSabreu@gmail.com
xHarbour 1.2.3 + Fwhh 20.2
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Sunday calc
Posted: Tue Sep 18, 2012 05:57 PM
Code (fw): Select all Collapse
function Sundays( dDate )

   local x, d := EOM( dDate )

return If( ( x := Day( d ) - 28 ) == 0 .or. dow( d ) > x, 4, 5 )


Usage: Sundays( STOD( "20120101" ) ) --> Sundays in Jan 2012
Sundays( Date() ) --> Sundays in Sep 2012
Regards



G. N. Rao.

Hyderabad, India
Posts: 222
Joined: Mon Jun 04, 2012 12:00 PM
Re: Sunday calc
Posted: Tue Sep 18, 2012 09:37 PM

Mr Nages Ineed the number of sunday in a month sample

september there are 30 days with 5 sundays

this I need to calculate the work Hour in this month

this run ok ( thanks to all )

Function GetSunday( nMonth, nYear )
Local nCont := 0
Local nSunday := 0
Local dInizio := cTod("01/"+StrZero(nMonth,2)+"/"+StrZero(nYear,4))
nSunday:=Sundays(dInizio)
Return nSunday

function Sundays( dDate )
local x, d := EOM( dDate )
return If( ( x := Day( d ) - 28 ) == 0 .or. dow( d ) > x, 4, 5 )

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Sunday calc
Posted: Wed Sep 19, 2012 03:02 AM
Code (fw): Select all Collapse
function GetSundays( nMonth, nYear )

   local x, d := EOM( STOD( Str( nYear, 4 ) + StrZero( nMonth, 2 ) + '01' ) )

return If( ( x := Day( d ) - 28 ) == 0 .or. dow( d ) > x, 4, 5 )


CTOD() depends on SET DATE setting. Using STOD is safer.
Regards



G. N. Rao.

Hyderabad, India
Posts: 222
Joined: Mon Jun 04, 2012 12:00 PM
Re: Sunday calc
Posted: Wed Sep 19, 2012 08:24 AM

thanks

Continue the discussion