ASP DateDiff
Web Server forum
Back To The Forum Home!Search!Private Messaging System

Web Server Talk Web Server Talk > Web Servers reviews > IIS server support > IIS ASP > ASP DateDiff




  Last Thread   Next Thread Next
  Show Printable Version Email this Page Subscribe to this Thread      Post New Thread    Post A Reply      

    ASP DateDiff  
inamori


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
08-22-04 11:05 PM

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








[ Post a follow-up to this message ]



    Re: ASP DateDiff  
Bob Barrows [MVP]


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
08-22-04 11:05 PM

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), _
DateAdd("m", -1*iMths, arDates(i,1)))
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"







[ Post a follow-up to this message ]



    Re: ASP DateDiff  
Evertjan.


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
08-22-04 11:05 PM

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.
(Please change the x'es to dots in my emailaddress)





[ Post a follow-up to this message ]



    Re: ASP DateDiff  
inamori


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
08-22-04 11:05 PM

Thanks for yoiur programming

add one day because of business logic

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]" <reb01501@NOyahoo.SPAMcom> ¦b¶l¥ó
news:%23b$uJC4hEHA.1356@TK2MSFTNGP09.phx.gbl ¤¤¼¶¼g...
> inamori wrote: 
>
> 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), _
>   DateAdd("m", -1*iMths, arDates(i,1)))
>  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"
>
>







[ Post a follow-up to this message ]



    Re: ASP DateDiff  
Bob Barrows [MVP]


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
08-22-04 11:05 PM

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
dDate = DateAdd("d",1,arDates(i,1))
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), _
DateAdd("m", -1*iMths, dDate))
if iDays < 1 then iDays = 0
Response.Write iDays & " days"
Response.Write "<BR>"
next
%>




inamori wrote:[vbcol=seagreen]
> Thanks for yoiur programming
>
> add one day because of business logic
>
> 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]" <reb01501@NOyahoo.SPAMcom> ¦b¶l¥ó
> news:%23b$uJC4hEHA.1356@TK2MSFTNGP09.phx.gbl ¤¤¼¶¼g... 

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







[ Post a follow-up to this message ]



    Re: ASP DateDiff  
inamori


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
08-25-04 12:05 AM

so could I add one date of the end date in your program

so i can get what i want???


"Bob Barrows [MVP]" <reb01501@NOyahoo.SPAMcom> ¦b¶l¥ó
news:%23b$uJC4hEHA.1356@TK2MSFTNGP09.phx.gbl ¤¤¼¶¼g...
> inamori wrote: 
>
> 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), _
>   DateAdd("m", -1*iMths, arDates(i,1)))
>  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"
>
>







[ Post a follow-up to this message ]



    Re: ASP DateDiff  
Bob Barrows [MVP]


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
08-25-04 10:58 PM

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
dDate = DateAdd("d",1,arDates(i,1))
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), _
DateAdd("m", -1*iMths, dDate))
if iDays < 1 then iDays = 0
Response.Write iDays & " days"
Response.Write "<BR>"
next
%>

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

inamori wrote:[vbcol=seagreen]
> so could I add one date of the end date in your program
>
> so i can get what i want???
>
>
> "Bob Barrows [MVP]" <reb01501@NOyahoo.SPAMcom> ¦b¶l¥ó
> news:%23b$uJC4hEHA.1356@TK2MSFTNGP09.phx.gbl ¤¤¼¶¼g... 

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







[ Post a follow-up to this message ]



    Re: ASP DateDiff  
Inamori Izumi


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
08-27-04 11:16 PM

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]" <reb01501@NOyahoo.SPAMcom> wrote in message
news:OJexr$oiEHA.140@TK2MSFTNGP12.phx.gbl...
> 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
>  dDate = DateAdd("d",1,arDates(i,1))
>  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), _
>   DateAdd("m", -1*iMths, dDate))
>  if iDays < 1 then iDays = 0
>  Response.Write iDays & " days"
>  Response.Write "<BR>"
> next
> %>
>
>  ****************************************
*******************
>
> inamori wrote: 
>
> --
> 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"
>
>







[ Post a follow-up to this message ]



    Re: ASP DateDiff  
Bob Barrows [MVP]


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
08-27-04 11:16 PM

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
dDate = DateAdd("d",1,arDates(i,1))
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), _
DateAdd("m", -1*iMths, dDate))
if iDays < 1 then iDays = 0
Response.Write iDays & " days"
Response.Write "<BR>"
next
%>



Inamori Izumi wrote:[vbcol=seagreen]
> 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]" <reb01501@NOyahoo.SPAMcom> wrote in message
> news:OJexr$oiEHA.140@TK2MSFTNGP12.phx.gbl... 

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







[ Post a follow-up to this message ]



    Re: ASP DateDiff  
inamori


View Ip Address Report This Message To A Moderator Edit/Delete Message


 
08-27-04 11:17 PM

thanks
let me test tomorrow when I work
"Bob Barrows [MVP]" <reb01501@NOyahoo.SPAMcom> ¦b¶l¥ó
news:ONZV3R1iEHA.536@TK2MSFTNGP11.phx.gbl ¤¤¼¶¼g...
> 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
>  dDate = DateAdd("d",1,arDates(i,1))
>  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), _
>   DateAdd("m", -1*iMths, dDate))
>  if iDays < 1 then iDays = 0
>  Response.Write iDays & " days"
>  Response.Write "<BR>"
> next
> %>
>
>
>
> Inamori Izumi wrote: 
>
> --
> 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"
>
>







[ Post a follow-up to this message ]



    Sponsored Links  




 





   All times are GMT. The time now is 09:28 AM.      Post New Thread    Post A Reply      
  Last Thread   Next Thread Next


Most Popular forums 

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is OFF
 
Medical and Health forum | Computer Games Reviews | Graphics design forum

Back To The Top
Home | Usercp | Faq | Register