Solved

JAVASCRIPT EQUIVALENT OF "DATEDIFF" IN ASP?

Posted on 2004-04-01
7
665 Views
Last Modified: 2008-02-01
Hi experts,

I need to compare 2 dates in javascript to see which one is earlier. In ASP I would do this:

value = dateDiff("d","10/04/2004","09/04/2004")

This would produce a value of "-1"


value = dateDiff("d","09/04/2004","10/04/2004")

This would produce a value of "1"


I need to do the same thing in Javascript. Does anybody have an example of how I can do this?




PJORDANNA






0
Comment
Question by:pjordanna
7 Comments
 
LVL 63

Expert Comment

by:Zvonko
ID: 10731737
Like this:

<script>
value = dateDiff("d","04/10/2004","04/09/2004");
alert(value)

value = dateDiff("d","04/09/2004","04/10/2004");
alert(value);


function dateDiff(dType, date1, date2){
  divider = 1000;
  if(dType=="d") divider = 24*60*60*1000;
  return ((new Date(date2))-(new Date(date1)))/divider;
}
</script>

0
 
LVL 63

Expert Comment

by:Zvonko
ID: 10731765
Or with date format adaption:

<script>
value = dateDiff("d","10/04/2004","09/04/2004");
alert(value)

value = dateDiff("d","09/04/2004","10/04/2004");
alert(value);


function dateDiff(dType, date1, date2){
  divider = 1000;
  if(dType=="d") divider = 24*60*60*1000;
  return (getDate(date2)-getDate(date1))/divider;
}

function getDate(dateValue){
  dPart = dateValue.split("/");
  return new Date(dPart[2], dPart[1], dPart[0]);
}
</script>

0
 
LVL 12

Expert Comment

by:venkateshwarr
ID: 10731772
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 31

Accepted Solution

by:
GwynforWeb earned 500 total points
ID: 10731807
try this

<script>
function dateDiff(d1,d2){
D1=new Date(d1)
D2=new Date(d2)
if (D1.getTime() > D2.getTime()) return -1
    else return 1
}


alert( dateDiff("10/04/2004","09/04/2004") )
alert( dateDiff("09/04/2004","10/04/2004") )
</script>
0
 
LVL 63

Expert Comment

by:Zvonko
ID: 10731838
Here also for hours minutes and seconds:

<script>
value = dateDiff("d","10/04/2004","09/04/2004");
alert(value)

value = dateDiff("d","09/04/2004","10/04/2004");
alert(value);


function dateDiff(dType, date1, date2){
  interval = 1000;
  switch(dType.toLowerCase()){
    case("d"): interval = 24*60*60*1000; break;
    case("h"): interval = 60*60*1000; break;
    case("m"): interval = 60*1000; break;
  }
  return (getDate(date2)-getDate(date1))/interval;
}

function getDate(dateValue){
  dPart = dateValue.split("/");
  return new Date(dPart[2], dPart[1], dPart[0]);
}
</script>

0
 

Author Comment

by:pjordanna
ID: 10732576
GwynforWeb,

That's perfect. Exeactly what I needed.




PJORDANNA
0
 
LVL 31

Expert Comment

by:GwynforWeb
ID: 10739637
Thanks, GfW
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I've been trying to accomplish this for a while and it just struck me yesterday how to accomplish this task. I have done searches all over the internet looking for ways to email pages from my applications and finally I have done it!!! Every single s…
This article discusses how to create an extensible mechanism for linked drop downs.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

679 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question