Ranges of dates

A

arbpen

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.
 
E

Evertjan.

arbpen wrote on 10 apr 2007 in microsoft.public.inetserver.asp.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
%>
 
A

Adrienne Boswell

Evertjan. wote:
arbpen wrote on 10 apr 2007 in microsoft.public.inetserver.asp.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
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.
 
B

Bob Barrows [MVP]

arbpen said:
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.
 
A

Adrienne Boswell

Gazing into my crystal ball I observed "Bob Barrows [MVP]" <reb01501
@NOyahoo.SPAMcom> writing in
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.
 
E

Evertjan.

Bob Barrows [MVP] wrote on 11 apr 2007 in
microsoft.public.inetserver.asp.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)
 
E

Evertjan.

Adrienne Boswell wrote on 11 apr 2007 in
microsoft.public.inetserver.asp.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!"
%>
 
B

Bob Barrows [MVP]

Evertjan. said:
Bob Barrows [MVP] wrote on 11 apr 2007 in
microsoft.public.inetserver.asp.general:


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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,048
Latest member
verona

Latest Threads

Top