Velocity Reviews > ASP DateDiff

# ASP DateDiff

inamori
Guest
Posts: n/a

 08-21-2004
I face that problems

07/01/2003 06/30/2006 ---------> it should be 3

01/01/2003 02/28/2005 --------->could i get 2 years and 2 months

01/01/2003 03/01/2005 --------->could i get 2 years and 2 months and 1
day

Bob Barrows [MVP]
Guest
Posts: n/a

 08-21-2004
inamori wrote:
> I face that problems
>
> 07/01/2003 06/30/2006 ---------> it should be 3
>
>
>
> 01/01/2003 02/28/2005 --------->could i get 2 years and 2 months
>
>
> 01/01/2003 03/01/2005 --------->could i get 2 years and 2 months
> and 1 day

Could you explain why these aren't the correct results?

The difference between 7/1/2003 and 6/30/2006 is:
3 years, 11 months, and 29 days
The difference between 1/1/2003 and 2/28/2005 is:
2 years, 1 months, and 27 days
The difference between 1/1/2003 and 3/1/2005 is:
2 years, 2 months, and 0 days

What is the logic used to determine when to add one day to the results?
Should the difference between 07/01/2003 and 07/01/2003 be 1 day? How about
07/01 and 07/02?

This is the code I used to get the above results:
<%
dim arDates(2,1), iYrs, iMths, iDays, i
arDates(0,0) = #2003-07-01#
arDates(0,1) = #2006-06-30#
arDates(1,0) = #2003-01-01#
arDates(1,1) = #2005-02-28#
arDates(2,0) = #2003-01-01#
arDates(2,1) = #2005-03-01#

for i = 0 to 2
Response.Write "The difference between " & arDates(i,0) & _
" and " & arDates(i,1) & " is: "
iYrs=DateDiff("yyyy",arDates(i,0),arDates(i,1))
Response.Write iYrs & " years, "
iMths=DateDiff("m",arDates(i,0),arDates(i,1))
if iMths < 12*iYrs then iYrs = iYrs - 1
if iMths - 12*iYrs < 0 then
Response.Write " 0 months, and "
else
Response.Write iMths - 12*iYrs & " months, and "
end if
iDays = DateDiff("d",arDates(i,0), _
if iDays < 1 then iDays = 0
Response.Write iDays & " days"
Response.Write "<BR>"
next
%>

Bob Barrows
--
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"

Evertjan.
Guest
Posts: n/a

 08-21-2004
Bob Barrows [MVP] wrote on 21 aug 2004 in
microsoft.public.inetserver.asp.general:
> Could you explain why these aren't the correct results?
>
> The difference between 7/1/2003 and 6/30/2006 is:
> 3 years, 11 months, and 29 days

Hi, Bob,

2000 years ago, people where used to including the first and last day in a
declaration of time passed.

It was like a 100 meter long barbed wire fence, with one pole per meter
consisting of 101 poles.

Likewise a duration of 7 weeks, 49 days in modern count, was called 50
days, pentecost [whitsun, 49 days after easter] being the Greek word
pentakosta for 50.

I suppose the OQ could be of ancient stock.

--
Evertjan.
The Netherlands.

inamori
Guest
Posts: n/a

 08-21-2004
Thanks for yoiur programming

Lease agreement

01/01/2003 12/31/2006 3 years

01/01/2003 01/01/2007 3 years + 1 day

That why i need add one day on the end date....

"Bob Barrows [MVP]" <(E-Mail Removed)> 秎ン
news:%23b\$(E-Mail Removed) い级糶...
> inamori wrote:
> > I face that problems
> >
> > 07/01/2003 06/30/2006 ---------> it should be 3
> >
> >
> >
> > 01/01/2003 02/28/2005 --------->could i get 2 years and 2 months
> >
> >
> > 01/01/2003 03/01/2005 --------->could i get 2 years and 2 months
> > and 1 day

>
> Could you explain why these aren't the correct results?
>
> The difference between 7/1/2003 and 6/30/2006 is:
> 3 years, 11 months, and 29 days
> The difference between 1/1/2003 and 2/28/2005 is:
> 2 years, 1 months, and 27 days
> The difference between 1/1/2003 and 3/1/2005 is:
> 2 years, 2 months, and 0 days
>
> What is the logic used to determine when to add one day to the results?
> Should the difference between 07/01/2003 and 07/01/2003 be 1 day? How

> 07/01 and 07/02?
>
> This is the code I used to get the above results:
> <%
> dim arDates(2,1), iYrs, iMths, iDays, i
> arDates(0,0) = #2003-07-01#
> arDates(0,1) = #2006-06-30#
> arDates(1,0) = #2003-01-01#
> arDates(1,1) = #2005-02-28#
> arDates(2,0) = #2003-01-01#
> arDates(2,1) = #2005-03-01#
>
> for i = 0 to 2
> Response.Write "The difference between " & arDates(i,0) & _
> " and " & arDates(i,1) & " is: "
> iYrs=DateDiff("yyyy",arDates(i,0),arDates(i,1))
> Response.Write iYrs & " years, "
> iMths=DateDiff("m",arDates(i,0),arDates(i,1))
> if iMths < 12*iYrs then iYrs = iYrs - 1
> if iMths - 12*iYrs < 0 then
> Response.Write " 0 months, and "
> else
> Response.Write iMths - 12*iYrs & " months, and "
> end if
> iDays = DateDiff("d",arDates(i,0), _
> if iDays < 1 then iDays = 0
> Response.Write iDays & " days"
> Response.Write "<BR>"
> next
> %>
>
> Bob Barrows
> --
> 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"
>
>

Bob Barrows [MVP]
Guest
Posts: n/a

 08-21-2004
Change the code to this:

<%
dim arDates(2,1), iYrs, iMths, iDays, i, dDate
arDates(0,0) = #2003-07-01#
arDates(0,1) = #2006-06-30#
arDates(1,0) = #2003-01-01#
arDates(1,1) = #2005-02-28#
arDates(2,0) = #2003-01-01#
arDates(2,1) = #2005-03-01#

for i = 0 to 2
Response.Write "The difference between " & arDates(i,0) & _
" and " & dDate & " is: "
iYrs=DateDiff("yyyy",arDates(i,0),dDate)
Response.Write iYrs & " years, "
iMths=DateDiff("m",arDates(i,0),dDate)
if iMths < 12*iYrs then iYrs = iYrs - 1
if iMths - 12*iYrs < 0 then
Response.Write " 0 months, and "
else
Response.Write iMths - 12*iYrs & " months, and "
end if
iDays = DateDiff("d",arDates(i,0), _
if iDays < 1 then iDays = 0
Response.Write iDays & " days"
Response.Write "<BR>"
next
%>

inamori wrote:
> Thanks for yoiur programming
>
>
> Lease agreement
>
> 01/01/2003 12/31/2006 3 years
>
> 01/01/2003 01/01/2007 3 years + 1 day
>
> That why i need add one day on the end date....
>
>
> "Bob Barrows [MVP]" <(E-Mail Removed)> 秎ン
> news:%23b\$(E-Mail Removed) い级糶...
>> inamori wrote:
>>> I face that problems
>>>
>>> 07/01/2003 06/30/2006 ---------> it should be 3
>>>
>>>
>>>
>>> 01/01/2003 02/28/2005 --------->could i get 2 years and 2
>>> months
>>>
>>>
>>> 01/01/2003 03/01/2005 --------->could i get 2 years and 2
>>> months and 1 day

>>
>> Could you explain why these aren't the correct results?
>>
>> The difference between 7/1/2003 and 6/30/2006 is:
>> 3 years, 11 months, and 29 days
>> The difference between 1/1/2003 and 2/28/2005 is:
>> 2 years, 1 months, and 27 days
>> The difference between 1/1/2003 and 3/1/2005 is:
>> 2 years, 2 months, and 0 days
>>
>> What is the logic used to determine when to add one day to the
>> results? Should the difference between 07/01/2003 and 07/01/2003 be
>> 1 day? How about 07/01 and 07/02?
>>
>> This is the code I used to get the above results:
>> <%
>> dim arDates(2,1), iYrs, iMths, iDays, i
>> arDates(0,0) = #2003-07-01#
>> arDates(0,1) = #2006-06-30#
>> arDates(1,0) = #2003-01-01#
>> arDates(1,1) = #2005-02-28#
>> arDates(2,0) = #2003-01-01#
>> arDates(2,1) = #2005-03-01#
>>
>> for i = 0 to 2
>> Response.Write "The difference between " & arDates(i,0) & _
>> " and " & arDates(i,1) & " is: "
>> iYrs=DateDiff("yyyy",arDates(i,0),arDates(i,1))
>> Response.Write iYrs & " years, "
>> iMths=DateDiff("m",arDates(i,0),arDates(i,1))
>> if iMths < 12*iYrs then iYrs = iYrs - 1
>> if iMths - 12*iYrs < 0 then
>> Response.Write " 0 months, and "
>> else
>> Response.Write iMths - 12*iYrs & " months, and "
>> end if
>> iDays = DateDiff("d",arDates(i,0), _
>> if iDays < 1 then iDays = 0
>> Response.Write iDays & " days"
>> Response.Write "<BR>"
>> next
>> %>
>>
>> Bob Barrows
>> --
>> 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"

--
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"

Bob Barrows [MVP]
Guest
Posts: n/a

 08-25-2004
Yes. That is what I said in my revious response isn't it?
Just in case you missed it, here it is again:
************************************************** **************
Change the code to this:

<%
dim arDates(2,1), iYrs, iMths, iDays, i, dDate
arDates(0,0) = #2003-07-01#
arDates(0,1) = #2006-06-30#
arDates(1,0) = #2003-01-01#
arDates(1,1) = #2005-02-28#
arDates(2,0) = #2003-01-01#
arDates(2,1) = #2005-03-01#

for i = 0 to 2
Response.Write "The difference between " & arDates(i,0) & _
" and " & dDate & " is: "
iYrs=DateDiff("yyyy",arDates(i,0),dDate)
Response.Write iYrs & " years, "
iMths=DateDiff("m",arDates(i,0),dDate)
if iMths < 12*iYrs then iYrs = iYrs - 1
if iMths - 12*iYrs < 0 then
Response.Write " 0 months, and "
else
Response.Write iMths - 12*iYrs & " months, and "
end if
iDays = DateDiff("d",arDates(i,0), _
if iDays < 1 then iDays = 0
Response.Write iDays & " days"
Response.Write "<BR>"
next
%>

************************************************** *********

inamori wrote:
> so could I add one date of the end date in your program
>
> so i can get what i want???
>
>
> "Bob Barrows [MVP]" <(E-Mail Removed)> 秎ン
> news:%23b\$(E-Mail Removed) い级糶...
>> inamori wrote:
>>> I face that problems
>>>
>>> 07/01/2003 06/30/2006 ---------> it should be 3
>>>
>>>
>>>
>>> 01/01/2003 02/28/2005 --------->could i get 2 years and 2
>>> months
>>>
>>>
>>> 01/01/2003 03/01/2005 --------->could i get 2 years and 2
>>> months and 1 day

>>
>> Could you explain why these aren't the correct results?
>>
>> The difference between 7/1/2003 and 6/30/2006 is:
>> 3 years, 11 months, and 29 days
>> The difference between 1/1/2003 and 2/28/2005 is:
>> 2 years, 1 months, and 27 days
>> The difference between 1/1/2003 and 3/1/2005 is:
>> 2 years, 2 months, and 0 days
>>
>> What is the logic used to determine when to add one day to the
>> results? Should the difference between 07/01/2003 and 07/01/2003 be
>> 1 day? How about 07/01 and 07/02?
>>
>> This is the code I used to get the above results:
>> <%
>> dim arDates(2,1), iYrs, iMths, iDays, i
>> arDates(0,0) = #2003-07-01#
>> arDates(0,1) = #2006-06-30#
>> arDates(1,0) = #2003-01-01#
>> arDates(1,1) = #2005-02-28#
>> arDates(2,0) = #2003-01-01#
>> arDates(2,1) = #2005-03-01#
>>
>> for i = 0 to 2
>> Response.Write "The difference between " & arDates(i,0) & _
>> " and " & arDates(i,1) & " is: "
>> iYrs=DateDiff("yyyy",arDates(i,0),arDates(i,1))
>> Response.Write iYrs & " years, "
>> iMths=DateDiff("m",arDates(i,0),arDates(i,1))
>> if iMths < 12*iYrs then iYrs = iYrs - 1
>> if iMths - 12*iYrs < 0 then
>> Response.Write " 0 months, and "
>> else
>> Response.Write iMths - 12*iYrs & " months, and "
>> end if
>> iDays = DateDiff("d",arDates(i,0), _
>> if iDays < 1 then iDays = 0
>> Response.Write iDays & " days"
>> Response.Write "<BR>"
>> next
>> %>
>>
>> Bob Barrows
>> --
>> 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"

--
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"

Inamori Izumi
Guest
Posts: n/a

 08-26-2004
HI, I have tried your program

The output is something like that
The difference between 7/1/2003 and 7/1/2006 is: 3 years, 0 months, and 0
days
The difference between 1/1/2003 and 3/1/2005 is: 2 years, 2 months, and 0
days
The difference between 1/1/2003 and 3/2/2005 is: 2 years, 2 months, and 1
days

But actually what i want is

The difference between 7/1/2003 and 7/1/2006 is: 3 years, 0 months, and 1
days
The difference between 1/1/2003 and 3/1/2005 is: 2 years, 2 months, and 1
days
The difference between 1/1/2003 and 3/2/2005 is: 2 years, 2 months, and 2
days

can it be done? is it really logic error in computer mechanism

"Bob Barrows [MVP]" <(E-Mail Removed)> wrote in message
news:OJexr\$(E-Mail Removed)...
> Yes. That is what I said in my revious response isn't it?
> Just in case you missed it, here it is again:
> ************************************************** **************
> Change the code to this:
>
> <%
> dim arDates(2,1), iYrs, iMths, iDays, i, dDate
> arDates(0,0) = #2003-07-01#
> arDates(0,1) = #2006-06-30#
> arDates(1,0) = #2003-01-01#
> arDates(1,1) = #2005-02-28#
> arDates(2,0) = #2003-01-01#
> arDates(2,1) = #2005-03-01#
>
> for i = 0 to 2
> Response.Write "The difference between " & arDates(i,0) & _
> " and " & dDate & " is: "
> iYrs=DateDiff("yyyy",arDates(i,0),dDate)
> Response.Write iYrs & " years, "
> iMths=DateDiff("m",arDates(i,0),dDate)
> if iMths < 12*iYrs then iYrs = iYrs - 1
> if iMths - 12*iYrs < 0 then
> Response.Write " 0 months, and "
> else
> Response.Write iMths - 12*iYrs & " months, and "
> end if
> iDays = DateDiff("d",arDates(i,0), _
> if iDays < 1 then iDays = 0
> Response.Write iDays & " days"
> Response.Write "<BR>"
> next
> %>
>
> ************************************************** *********
>
> inamori wrote:
> > so could I add one date of the end date in your program
> >
> > so i can get what i want???
> >
> >
> > "Bob Barrows [MVP]" <(E-Mail Removed)> 秎ン
> > news:%23b\$(E-Mail Removed) い级糶...
> >> inamori wrote:
> >>> I face that problems
> >>>
> >>> 07/01/2003 06/30/2006 ---------> it should be 3
> >>>
> >>>
> >>>
> >>> 01/01/2003 02/28/2005 --------->could i get 2 years and 2
> >>> months
> >>>
> >>>
> >>> 01/01/2003 03/01/2005 --------->could i get 2 years and 2
> >>> months and 1 day
> >>
> >> Could you explain why these aren't the correct results?
> >>
> >> The difference between 7/1/2003 and 6/30/2006 is:
> >> 3 years, 11 months, and 29 days
> >> The difference between 1/1/2003 and 2/28/2005 is:
> >> 2 years, 1 months, and 27 days
> >> The difference between 1/1/2003 and 3/1/2005 is:
> >> 2 years, 2 months, and 0 days
> >>
> >> What is the logic used to determine when to add one day to the
> >> results? Should the difference between 07/01/2003 and 07/01/2003 be
> >> 1 day? How about 07/01 and 07/02?
> >>
> >> This is the code I used to get the above results:
> >> <%
> >> dim arDates(2,1), iYrs, iMths, iDays, i
> >> arDates(0,0) = #2003-07-01#
> >> arDates(0,1) = #2006-06-30#
> >> arDates(1,0) = #2003-01-01#
> >> arDates(1,1) = #2005-02-28#
> >> arDates(2,0) = #2003-01-01#
> >> arDates(2,1) = #2005-03-01#
> >>
> >> for i = 0 to 2
> >> Response.Write "The difference between " & arDates(i,0) & _
> >> " and " & arDates(i,1) & " is: "
> >> iYrs=DateDiff("yyyy",arDates(i,0),arDates(i,1))
> >> Response.Write iYrs & " years, "
> >> iMths=DateDiff("m",arDates(i,0),arDates(i,1))
> >> if iMths < 12*iYrs then iYrs = iYrs - 1
> >> if iMths - 12*iYrs < 0 then
> >> Response.Write " 0 months, and "
> >> else
> >> Response.Write iMths - 12*iYrs & " months, and "
> >> end if
> >> iDays = DateDiff("d",arDates(i,0), _
> >> if iDays < 1 then iDays = 0
> >> Response.Write iDays & " days"
> >> Response.Write "<BR>"
> >> next
> >> %>
> >>
> >> Bob Barrows
> >> --
> >> 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"

>
> --
> 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"
>
>

Bob Barrows [MVP]
Guest
Posts: n/a

 08-26-2004
I goofed. The code should be:

<%
dim arDates(2,1), iYrs, iMths, iDays, i, dDate
arDates(0,0) = #2003-07-01#
arDates(0,1) = #2006-06-30#
arDates(1,0) = #2003-01-01#
arDates(1,1) = #2005-02-28#
arDates(2,0) = #2003-01-01#
arDates(2,1) = #2005-03-01#

for i = 0 to 2
Response.Write "The difference between " & arDates(i,0) & _
" and " & arDates(i,1) & " is: "
iYrs=DateDiff("yyyy",arDates(i,0),dDate)
Response.Write iYrs & " years, "
iMths=DateDiff("m",arDates(i,0),dDate)
if iMths < 12*iYrs then iYrs = iYrs - 1
if iMths - 12*iYrs < 0 then
Response.Write " 0 months, and "
else
Response.Write iMths - 12*iYrs & " months, and "
end if
iDays = DateDiff("d",arDates(i,0), _
if iDays < 1 then iDays = 0
Response.Write iDays & " days"
Response.Write "<BR>"
next
%>

Inamori Izumi wrote:
> HI, I have tried your program
>
> The output is something like that
> The difference between 7/1/2003 and 7/1/2006 is: 3 years, 0 months,
> and 0 days
> The difference between 1/1/2003 and 3/1/2005 is: 2 years, 2 months,
> and 0 days
> The difference between 1/1/2003 and 3/2/2005 is: 2 years, 2 months,
> and 1 days
>
> But actually what i want is
>
> The difference between 7/1/2003 and 7/1/2006 is: 3 years, 0 months,
> and 1 days
> The difference between 1/1/2003 and 3/1/2005 is: 2 years, 2 months,
> and 1 days
> The difference between 1/1/2003 and 3/2/2005 is: 2 years, 2 months,
> and 2 days
>
> can it be done? is it really logic error in computer mechanism
>
>
>
> "Bob Barrows [MVP]" <(E-Mail Removed)> wrote in message
> news:OJexr\$(E-Mail Removed)...
>> Yes. That is what I said in my revious response isn't it?
>> Just in case you missed it, here it is again:
>> ************************************************** **************
>> Change the code to this:
>>
>> <%
>> dim arDates(2,1), iYrs, iMths, iDays, i, dDate
>> arDates(0,0) = #2003-07-01#
>> arDates(0,1) = #2006-06-30#
>> arDates(1,0) = #2003-01-01#
>> arDates(1,1) = #2005-02-28#
>> arDates(2,0) = #2003-01-01#
>> arDates(2,1) = #2005-03-01#
>>
>> for i = 0 to 2
>> Response.Write "The difference between " & arDates(i,0) & _
>> " and " & dDate & " is: "
>> iYrs=DateDiff("yyyy",arDates(i,0),dDate)
>> Response.Write iYrs & " years, "
>> iMths=DateDiff("m",arDates(i,0),dDate)
>> if iMths < 12*iYrs then iYrs = iYrs - 1
>> if iMths - 12*iYrs < 0 then
>> Response.Write " 0 months, and "
>> else
>> Response.Write iMths - 12*iYrs & " months, and "
>> end if
>> iDays = DateDiff("d",arDates(i,0), _
>> if iDays < 1 then iDays = 0
>> Response.Write iDays & " days"
>> Response.Write "<BR>"
>> next
>> %>
>>
>> ************************************************** *********
>>
>> inamori wrote:
>>> so could I add one date of the end date in your program
>>>
>>> so i can get what i want???
>>>
>>>
>>> "Bob Barrows [MVP]" <(E-Mail Removed)> 秎ン
>>> news:%23b\$(E-Mail Removed) い级糶...
>>>> inamori wrote:
>>>>> I face that problems
>>>>>
>>>>> 07/01/2003 06/30/2006 ---------> it should be 3
>>>>>
>>>>>
>>>>>
>>>>> 01/01/2003 02/28/2005 --------->could i get 2 years and 2
>>>>> months
>>>>>
>>>>>
>>>>> 01/01/2003 03/01/2005 --------->could i get 2 years and 2
>>>>> months and 1 day
>>>>
>>>> Could you explain why these aren't the correct results?
>>>>
>>>> The difference between 7/1/2003 and 6/30/2006 is:
>>>> 3 years, 11 months, and 29 days
>>>> The difference between 1/1/2003 and 2/28/2005 is:
>>>> 2 years, 1 months, and 27 days
>>>> The difference between 1/1/2003 and 3/1/2005 is:
>>>> 2 years, 2 months, and 0 days
>>>>
>>>> What is the logic used to determine when to add one day to the
>>>> results? Should the difference between 07/01/2003 and 07/01/2003 be
>>>> 1 day? How about 07/01 and 07/02?
>>>>
>>>> This is the code I used to get the above results:
>>>> <%
>>>> dim arDates(2,1), iYrs, iMths, iDays, i
>>>> arDates(0,0) = #2003-07-01#
>>>> arDates(0,1) = #2006-06-30#
>>>> arDates(1,0) = #2003-01-01#
>>>> arDates(1,1) = #2005-02-28#
>>>> arDates(2,0) = #2003-01-01#
>>>> arDates(2,1) = #2005-03-01#
>>>>
>>>> for i = 0 to 2
>>>> Response.Write "The difference between " & arDates(i,0) & _
>>>> " and " & arDates(i,1) & " is: "
>>>> iYrs=DateDiff("yyyy",arDates(i,0),arDates(i,1))
>>>> Response.Write iYrs & " years, "
>>>> iMths=DateDiff("m",arDates(i,0),arDates(i,1))
>>>> if iMths < 12*iYrs then iYrs = iYrs - 1
>>>> if iMths - 12*iYrs < 0 then
>>>> Response.Write " 0 months, and "
>>>> else
>>>> Response.Write iMths - 12*iYrs & " months, and "
>>>> end if
>>>> iDays = DateDiff("d",arDates(i,0), _
>>>> if iDays < 1 then iDays = 0
>>>> Response.Write iDays & " days"
>>>> Response.Write "<BR>"
>>>> next
>>>> %>
>>>>
>>>> Bob Barrows
>>>> --
>>>> 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"

>>
>> --
>> 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"

--
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"

inamori
Guest
Posts: n/a

 08-26-2004
thanks
let me test tomorrow when I work
"Bob Barrows [MVP]" <(E-Mail Removed)> 秎ン
news:(E-Mail Removed) い级糶...
> I goofed. The code should be:
>
>
> <%
> dim arDates(2,1), iYrs, iMths, iDays, i, dDate
> arDates(0,0) = #2003-07-01#
> arDates(0,1) = #2006-06-30#
> arDates(1,0) = #2003-01-01#
> arDates(1,1) = #2005-02-28#
> arDates(2,0) = #2003-01-01#
> arDates(2,1) = #2005-03-01#
>
> for i = 0 to 2
> Response.Write "The difference between " & arDates(i,0) & _
> " and " & arDates(i,1) & " is: "
> iYrs=DateDiff("yyyy",arDates(i,0),dDate)
> Response.Write iYrs & " years, "
> iMths=DateDiff("m",arDates(i,0),dDate)
> if iMths < 12*iYrs then iYrs = iYrs - 1
> if iMths - 12*iYrs < 0 then
> Response.Write " 0 months, and "
> else
> Response.Write iMths - 12*iYrs & " months, and "
> end if
> iDays = DateDiff("d",arDates(i,0), _
> if iDays < 1 then iDays = 0
> Response.Write iDays & " days"
> Response.Write "<BR>"
> next
> %>
>
>
>
> Inamori Izumi wrote:
> > HI, I have tried your program
> >
> > The output is something like that
> > The difference between 7/1/2003 and 7/1/2006 is: 3 years, 0 months,
> > and 0 days
> > The difference between 1/1/2003 and 3/1/2005 is: 2 years, 2 months,
> > and 0 days
> > The difference between 1/1/2003 and 3/2/2005 is: 2 years, 2 months,
> > and 1 days
> >
> > But actually what i want is
> >
> > The difference between 7/1/2003 and 7/1/2006 is: 3 years, 0 months,
> > and 1 days
> > The difference between 1/1/2003 and 3/1/2005 is: 2 years, 2 months,
> > and 1 days
> > The difference between 1/1/2003 and 3/2/2005 is: 2 years, 2 months,
> > and 2 days
> >
> > can it be done? is it really logic error in computer mechanism
> >
> >
> >
> > "Bob Barrows [MVP]" <(E-Mail Removed)> wrote in message
> > news:OJexr\$(E-Mail Removed)...
> >> Yes. That is what I said in my revious response isn't it?
> >> Just in case you missed it, here it is again:
> >> ************************************************** **************
> >> Change the code to this:
> >>
> >> <%
> >> dim arDates(2,1), iYrs, iMths, iDays, i, dDate
> >> arDates(0,0) = #2003-07-01#
> >> arDates(0,1) = #2006-06-30#
> >> arDates(1,0) = #2003-01-01#
> >> arDates(1,1) = #2005-02-28#
> >> arDates(2,0) = #2003-01-01#
> >> arDates(2,1) = #2005-03-01#
> >>
> >> for i = 0 to 2
> >> Response.Write "The difference between " & arDates(i,0) & _
> >> " and " & dDate & " is: "
> >> iYrs=DateDiff("yyyy",arDates(i,0),dDate)
> >> Response.Write iYrs & " years, "
> >> iMths=DateDiff("m",arDates(i,0),dDate)
> >> if iMths < 12*iYrs then iYrs = iYrs - 1
> >> if iMths - 12*iYrs < 0 then
> >> Response.Write " 0 months, and "
> >> else
> >> Response.Write iMths - 12*iYrs & " months, and "
> >> end if
> >> iDays = DateDiff("d",arDates(i,0), _
> >> if iDays < 1 then iDays = 0
> >> Response.Write iDays & " days"
> >> Response.Write "<BR>"
> >> next
> >> %>
> >>
> >> ************************************************** *********
> >>
> >> inamori wrote:
> >>> so could I add one date of the end date in your program
> >>>
> >>> so i can get what i want???
> >>>
> >>>
> >>> "Bob Barrows [MVP]" <(E-Mail Removed)> 秎ン
> >>> news:%23b\$(E-Mail Removed) い级糶...
> >>>> inamori wrote:
> >>>>> I face that problems
> >>>>>
> >>>>> 07/01/2003 06/30/2006 ---------> it should be 3
> >>>>>
> >>>>>
> >>>>>
> >>>>> 01/01/2003 02/28/2005 --------->could i get 2 years and 2
> >>>>> months
> >>>>>
> >>>>>
> >>>>> 01/01/2003 03/01/2005 --------->could i get 2 years and 2
> >>>>> months and 1 day
> >>>>
> >>>> Could you explain why these aren't the correct results?
> >>>>
> >>>> The difference between 7/1/2003 and 6/30/2006 is:
> >>>> 3 years, 11 months, and 29 days
> >>>> The difference between 1/1/2003 and 2/28/2005 is:
> >>>> 2 years, 1 months, and 27 days
> >>>> The difference between 1/1/2003 and 3/1/2005 is:
> >>>> 2 years, 2 months, and 0 days
> >>>>
> >>>> What is the logic used to determine when to add one day to the
> >>>> results? Should the difference between 07/01/2003 and 07/01/2003 be
> >>>> 1 day? How about 07/01 and 07/02?
> >>>>
> >>>> This is the code I used to get the above results:
> >>>> <%
> >>>> dim arDates(2,1), iYrs, iMths, iDays, i
> >>>> arDates(0,0) = #2003-07-01#
> >>>> arDates(0,1) = #2006-06-30#
> >>>> arDates(1,0) = #2003-01-01#
> >>>> arDates(1,1) = #2005-02-28#
> >>>> arDates(2,0) = #2003-01-01#
> >>>> arDates(2,1) = #2005-03-01#
> >>>>
> >>>> for i = 0 to 2
> >>>> Response.Write "The difference between " & arDates(i,0) & _
> >>>> " and " & arDates(i,1) & " is: "
> >>>> iYrs=DateDiff("yyyy",arDates(i,0),arDates(i,1))
> >>>> Response.Write iYrs & " years, "
> >>>> iMths=DateDiff("m",arDates(i,0),arDates(i,1))
> >>>> if iMths < 12*iYrs then iYrs = iYrs - 1
> >>>> if iMths - 12*iYrs < 0 then
> >>>> Response.Write " 0 months, and "
> >>>> else
> >>>> Response.Write iMths - 12*iYrs & " months, and "
> >>>> end if
> >>>> iDays = DateDiff("d",arDates(i,0), _
> >>>> if iDays < 1 then iDays = 0
> >>>> Response.Write iDays & " days"
> >>>> Response.Write "<BR>"
> >>>> next
> >>>> %>
> >>>>
> >>>> Bob Barrows
> >>>> --
> >>>> 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"
> >>
> >> --
> >> 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"

>
> --
> 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"
>
>