Date Function : IsGoodFriday


When I worked for an insurance company, Good Friday was a work day but not a business day. Only certain batch processes needed to run.


'*****************************************************************
'*  Function Name   : bIsGoodFriday                              *
'*  Created By      : Thomas A. Cassano                          *
'*  date            : 00/00/98                                   *
'*  Purpose         : Determines whether the day is Good Friday  *
'*  Arguments       : dCompare_date                              *
'*  Returns         : Boolean                                    *
'*  Comments        : None                                       *
'*****************************************************************
Function bIsGoodFriday(dCompare_date as date) as Boolean

   Dim iCurrent_Year             as Integer
   Dim a, b, c, d, e             as Integer
   Dim dEasterSunday             as date
   Dim dGoodFriday               as date
   Dim iDayOfEasterSunday        as Integer
   Dim iMonthOfEasterSunday      as Integer

   iCurrent_Year = Year(dCompare_date)

   a = iCurrent_Year Mod 19
   b = iCurrent_Year Mod 4
   c = iCurrent_Year Mod 7
   d = (19 * a + 24) Mod 30
   e = (2 * b + 4 * c + 6 * d + 5) Mod 7

   iDayOfEasterSunday = 22 + d + e

   iMonthOfEasterSunday = 3

   If iDayOfEasterSunday > 31 then
      iDayOfEasterSunday = d + e - 9
      iMonthOfEasterSunday = 4
   End If

   If iDayOfEasterSunday = 26 And iMonthOfEasterSunday = 4 then
      iDayOfEasterSunday = 19
   End If

   If iDayOfEasterSunday = 25 And iMonthOfEasterSunday = 4 And d = 28 And _
      e = 6 And a > 10 then
      iDayOfEasterSunday = 18
   End If

   dEasterSunday = DateSerial(iCurrent_Year, iMonthOfEasterSunday, _
                   iDayOfEasterSunday)

   dGoodFriday = DateAdd("d", -2, dEasterSunday)

   bIsGoodFriday = dGoodFriday = dCompare_date

End Function



Comments

  • date function

    Posted by Legacy on 10/10/2002 12:00am

    Originally posted by: pranay shrivastava

    nice job :0)
    

    • Finfing a code who return me 2 or 3 pay day in a month

      Posted by Astrisk on 06/08/2004 09:30pm

      The pay day is every 2 weeks, I'm looking for a function who can tell me how many pay we have in a month. The week of pay start sunday and finished saturday. We cant insert a start year in you what.

      Reply
    Reply
  • Visual Basic

    Posted by Legacy on 07/30/2002 12:00am

    Originally posted by: Paul Ms

    Very Good

    Reply
  • Need more optimised form

    Posted by Legacy on 07/08/2002 12:00am

    Originally posted by: sachin dayma

    need more optimised code

    Reply
  • Very Good

    Posted by Legacy on 01/24/2002 12:00am

    Originally posted by: Pradnya Jamgaonkar

    This program is very good . I am doing industrial training as a part of M.C.S. I can take take advantage of this code for my project.Thank U very much .
    PRADNYA

    Reply
  • good work

    Posted by Legacy on 01/12/2002 12:00am

    Originally posted by: Victor Basu

    Good work, it could be worthwhile in process of keeping appointment date.

    Victor

    Reply
  • Good

    Posted by Legacy on 06/28/2001 12:00am

    Originally posted by: Lenin

    Excellent!!

    Reply
  • 1

    Posted by Legacy on 06/02/2001 12:00am

    Originally posted by: Nanjar Budiman

    Code vb6
    

    Reply
  • bad one :-)

    Posted by Legacy on 02/15/2000 12:00am

    Originally posted by: horsEraser

    Dim a, b, c, d, e as Integer

    variable declaration will compile by VB like that
    dim a as variant ,b as variant , c as variant, d as variant
    dim e as integer
    on other way;
    dim a, b, c, d
    dim e as integer
    because variant is default datatype. (and stored memory 20 bytes and upper depend on variable data long) and if u use variant datatype you could not take any error messages. The Variant covers all data type.

    if u will use that a, b , c , d and e as integer, u have to write

    dim a as integer
    dim b as integer
    dim c as integer
    dim d as integer
    dim e as integer

    and other syntax ;
    dim a as integer, b as integer, c as integer, d as integer
    dim e as integer

    huh is it?
    you can test two ways declaration, breaking one point and use on debug window

    print typename(a)
    first wrong declaration input "variant" and first assigment on a as integer "integer" but not like integer has take memory 20 bytes for variant variable type and 2 bytes for integer.


    Reply
  • good one

    Posted by Legacy on 06/26/1999 12:00am

    Originally posted by: Siddharth Manohar

    Good one!! , it will be very helpful in insurance type of applications.

    Sidd

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: October 29, 2014 @ 11:00 a.m. ET / 8:00 a.m. PT Are you interested in building a cognitive application using the power of IBM Watson? Need a platform that provides speed and ease for rapidly deploying this application? Join Chris Madison, Watson Solution Architect, as he walks through the process of building a Watson powered application on IBM Bluemix. Chris will talk about the new Watson Services just released on IBM bluemix, but more importantly he will do a step by step cognitive …

  • QA teams don't have time to test everything yet they can't afford to ship buggy code. Learn how Coverity can help organizations shrink their testing cycles and reduce regression risk by focusing their manual and automated testing based on the impact of change.

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds