Ranges of dates

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • arbpen

    Ranges of dates

    I'm sure there's a simple way to do this, but I can't seem to find it:

    If today is after February 1st and before February 15th then
    do valentines
    elseif today is after March 1st and before March 17th then
    do stpatty's day
    elseif today is April 1st then
    do April Fool
    elseif today is after April 15th and before May 5th then
    do CincodeMayo
    else
    just do the regular thing
    end if


    I know about date() and I know about datepart and I know about
    month(date()) and day(date()). Right now
    I do:

    if month(date()) = 2 and day(date()) =1 and day(date()) < 15 then
    'do valentines
    elseif month(date()) = 3 and day(date()) < 18 then
    'do st pattys
    elseif month(date()) = 4 and day(date()) = 1 then
    'do April fool
    'then I get confused about the best way to do Cinco De Mayo
    else
    'do the regular thing
    end if

    Is there an easier/better way to do this? Thanks in advance for any
    tips, solutions, etc.

    --
    Adrienne Boswell at work
    Administrator nextBlock.com

    Please respond to the group so others can share

  • Evertjan.

    #2
    Re: Ranges of dates

    arbpen wrote on 10 apr 2007 in microsoft.publi c.inetserver.as p.general:
    I'm sure there's a simple way to do this, but I can't seem to find it:
    >
    If today is after February 1st and before February 15th then
    do valentines
    elseif today is after March 1st and before March 17th then
    do stpatty's day
    elseif today is April 1st then
    do April Fool
    elseif today is after April 15th and before May 5th then
    do CincodeMayo
    else
    just do the regular thing
    end if
    >
    >
    I know about date() and I know about datepart and I know about
    month(date()) and day(date()). Right now
    I do:
    >
    if month(date()) = 2 and day(date()) =1 and day(date()) < 15 then
    'do valentines
    elseif month(date()) = 3 and day(date()) < 18 then
    'do st pattys
    elseif month(date()) = 4 and day(date()) = 1 then
    'do April fool
    'then I get confused about the best way to do Cinco De Mayo
    else
    'do the regular thing
    end if
    >
    Is there an easier/better way to do this? Thanks in advance for any
    tips, solutions, etc.

    A sort of practical example from a page of mine:

    <%
    nu = now 'perhaps do a zone change here

    if nu<#2007/04/11 00:00# then
    tx = "blah"
    elseif nu>#2007/05/20 17:00# and nu<#2007/05/23 21:20# then
    tx = "blah blah"
    elseif nu>#2007/06/06 08:15# and nu<#2007/06/10 23:00# then
    tx = "blah blah blah"
    else
    tx = "blah blah blah blip"
    end if
    response.write tx
    %>


    --
    Evertjan.
    The Netherlands.
    (Please change the x'es to dots in my emailaddress)

    Comment

    • Adrienne Boswell

      #3
      Re: Ranges of dates


      Evertjan. wote:
      arbpen wrote on 10 apr 2007 in microsoft.publi c.inetserver.as p.general:
      >
      I'm sure there's a simple way to do this, but I can't seem to find it:

      If today is after February 1st and before February 15th then
      do valentines
      elseif today is after March 1st and before March 17th then
      do stpatty's day
      elseif today is April 1st then
      do April Fool
      elseif today is after April 15th and before May 5th then
      do CincodeMayo
      else
      just do the regular thing
      end if


      I know about date() and I know about datepart and I know about
      month(date()) and day(date()). Right now
      I do:

      if month(date()) = 2 and day(date()) =1 and day(date()) < 15 then
      'do valentines
      elseif month(date()) = 3 and day(date()) < 18 then
      'do st pattys
      elseif month(date()) = 4 and day(date()) = 1 then
      'do April fool
      'then I get confused about the best way to do Cinco De Mayo
      else
      'do the regular thing
      end if

      Is there an easier/better way to do this? Thanks in advance for any
      tips, solutions, etc.
      >
      >
      A sort of practical example from a page of mine:
      >
      <%
      nu = now 'perhaps do a zone change here
      >
      if nu<#2007/04/11 00:00# then
      tx = "blah"
      elseif nu>#2007/05/20 17:00# and nu<#2007/05/23 21:20# then
      tx = "blah blah"
      elseif nu>#2007/06/06 08:15# and nu<#2007/06/10 23:00# then
      tx = "blah blah blah"
      else
      tx = "blah blah blah blip"
      end if
      response.write tx
      %>
      >
      My hero! :-( But, I need to make this so I _don't_ have to put in the
      year. I need this to be able to sit there as an include until the end
      of time, or the planet blows up, which ever comes first.

      --
      Adrienne Boswell at work
      Administrator nextBlock.com

      Please respond to the group so others can share

      Comment

      • Bob Barrows [MVP]

        #4
        Re: Ranges of dates

        arbpen wrote:
        I'm sure there's a simple way to do this, but I can't seem to find it:
        >
        If today is after February 1st and before February 15th then
        do valentines
        elseif today is after March 1st and before March 17th then
        do stpatty's day
        elseif today is April 1st then
        do April Fool
        elseif today is after April 15th and before May 5th then
        do CincodeMayo
        else
        just do the regular thing
        end if
        >
        >
        I know about date() and I know about datepart and I know about
        month(date()) and day(date()). Right now
        I do:
        First of all, I would use variables rather than repeatedly calling these
        month and day functions:
        dim mth, dnum
        mth= month(date())
        dnum = day(date())
        >
        if mth= 2 and dnum=1 and dnum< 15 then
        'do valentines
        elseif mth= 3 and dnum< 18 then
        'do st pattys
        elseif mth= 4 and dnum= 1 then
        'do April fool
        'then I get confused about the best way to do Cinco De Mayo
        elseif (mth= 4 and dnum= 1) or (mth=5 and dnum < 5) then
        >
        Is there an easier/better way to do this? Thanks in advance for any
        tips, solutions, etc.
        Can you use a database? A table containing holiday name, startdate and
        enddate would make this pretty easy. Assuming Jet:

        select holiday from holidays where date >= startdate
        and date < enddate

        Just prepopulate the table with several years worth of data. The beauty of
        course is that if new holidays are added or date ranges need to be adjusted,
        there is no need to modify the code, just modify the data in the table.


        --
        Microsoft MVP - ASP/ASP.NET
        Please reply to the newsgroup. This email account is my spam trap so I
        don't check it very often. If you must reply off-line, then remove the
        "NO SPAM"


        Comment

        • Adrienne Boswell

          #5
          Re: Ranges of dates

          Gazing into my crystal ball I observed "Bob Barrows [MVP]" <reb01501
          @NOyahoo.SPAMco mwriting in news:#06clA#eHH A.4064@TK2MSFTN GP03.phx.gbl:
          >>
          >Is there an easier/better way to do this? Thanks in advance for any
          >tips, solutions, etc.
          >
          Can you use a database? A table containing holiday name, startdate and
          enddate would make this pretty easy.
          I think that's the best solution. I'm already doing that with a Liturgical
          calendar I'm doing for a Catholic church site. Thank you.

          --
          Adrienne Boswell at Home
          Arbpen Web Site Design Services
          Arbpen Consulting will help you harness valuable insights and translate them into tangible results by merging data and strategy.

          Please respond to the group so others can share

          Comment

          • Evertjan.

            #6
            Re: Ranges of dates

            Bob Barrows [MVP] wrote on 11 apr 2007 in
            microsoft.publi c.inetserver.as p.general:
            First of all, I would use variables rather than repeatedly calling these
            month and day functions:
            dim mth, dnum
            mth= month(date())
            dnum = day(date())
            >
            There is the slight possibility of the date change between those two lines,
            so I would do:

            myDate = date()

            mth= month(myDate)
            dnum = day(myDate)


            --
            Evertjan.
            The Netherlands.
            (Please change the x'es to dots in my emailaddress)

            Comment

            • Evertjan.

              #7
              Re: Ranges of dates

              Adrienne Boswell wrote on 11 apr 2007 in
              microsoft.publi c.inetserver.as p.general:
              >A sort of practical example from a page of mine:
              >>
              ><%
              >nu = now 'perhaps do a zone change here
              >>
              >if nu<#2007/04/11 00:00# then
              > tx = "blah"
              >elseif nu>#2007/05/20 17:00# and nu<#2007/05/23 21:20# then
              [...]
              >
              My hero! :-( But, I need to make this so I _don't_ have to put in the
              year. I need this to be able to sit there as an include until the end
              of time, or the planet blows up, which ever comes first.
              What application uses fixed days year in year out,
              independent on the weekday? [except for morgages]

              <% 'vbs
              if weekday(date,7) < 3 then response.write "It's weekend!"
              %>



              --
              Evertjan.
              The Netherlands.
              (Please change the x'es to dots in my emailaddress)

              Comment

              • Bob Barrows [MVP]

                #8
                Re: Ranges of dates

                Evertjan. wrote:
                Bob Barrows [MVP] wrote on 11 apr 2007 in
                microsoft.publi c.inetserver.as p.general:
                >
                >First of all, I would use variables rather than repeatedly calling
                >these month and day functions:
                >dim mth, dnum
                >mth= month(date())
                >dnum = day(date())
                >>
                >
                There is the slight possibility of the date change between those two
                lines, so I would do:
                >
                myDate = date()
                >
                mth= month(myDate)
                dnum = day(myDate)
                >
                >
                Good point.
                --
                Microsoft MVP -- ASP/ASP.NET
                Please reply to the newsgroup. The email account listed in my From
                header is my spam trap, so I don't check it very often. You will get a
                quicker response by posting to the newsgroup.


                Comment

                Working...