有些时候我们需要计算两个日期间的天数,或者小时数等等。下面用JavaScript实现这个需求,然后学习一下需要用到的一些JavaScript函数。

JavaScript程序如下:

<script type="text/javascript"> 

var getOffDays = function(startDate, endDate) {  

 //得到时间戳相减 得到以毫秒为单位的差  

 var mmSec = (endDate.getTime() - startDate.getTime());

 //单位转换为天并返回 

 return (mmSec / 3600000 / 24); 

};  

alert(getOffDays(new Date(2009,8,7), new Date(2010,9,17)));  

</script>

 

JavaScript getTime()方法

getTime()方法所返回了从1970年1月1号以来所积累的毫秒总数。用法dateObject.getTime(),这个方法得结合Date对象使用。

下面的程序得到了从1970年1月1号以来所积累的毫秒总数并输出它:

<script type="text/javascript">

var d = new Date()

document.write(d.getTime() + " milliseconds since 1970/01/01")

</script>

程序运行结果为:1284655348088 milliseconds since 1970/01/01

下面的程序我们得到了从1970年1月1号以来所用掉的年数总数并输出它:
<script type="text/javascript">
var minutes = 1000*60
var hours = minutes*60
var days = hours*24
var years = days*365
var d = new Date()
var t = d.getTime()
var y = t/years
document.write("It's been: " + y + " years since 1970/01/01!")
</script>
程序运行结果为:It's been: 40.73615794193937 years since 1970/01/01!

JavaScript Date(日期)对象

Date 对象用于处理日期和时间。可以通过 new 关键词来定义 Date 对象。以下代码定义了名为 myDate 的 Date 对象:
var myDate = new Date();
Date 对象自动使用当前的日期和时间作为其初始值。

通过使用针对日期对象的方法,我们可以很容易地对日期进行操作。在下面的例子中,我们为日期对象设置了一个特定的日期 (2008 年 8 月 9 日):

var myDate = new Date(); myDate.setFullYear(2008,7,9);
表示月份的参数介于 0 到 11 之间。也就是说,如果希望把月设置为 8 月,则参数应该是 7。
在下面的例子中,我们将日期对象设置为 5 天后的日期:
var myDate = new Date(); myDate.setDate(myDate.getDate()+5);
如果增加天数会改变月份或者年份,那么日期对象会自动完成这种转换。
日期对象也可用于比较两个日期。下面的代码将当前日期与 2008 年 8 月 9 日做了比较
var myDate=new Date(); myDate.setFullYear(2008,7,9); var today = new Date(); if (myDate>today) {  alert("Today is before 9th August 2008"); } else {  alert("Today is after 9th August 2008"); }

posted on 2011-11-27 13:57  303182519  阅读(5206)  评论(0)    收藏  举报