有些时候我们需要计算两个日期间的天数,或者小时数等等。下面用JavaScript实现这个需求,然后学习一下需要用到的一些JavaScript函数。
JavaScript程序如下:
1 |
<script type= "text/javascript" >
|
2 |
var getOffDays = function (startDate, endDate) {
|
4 |
var mmSec = (endDate.getTime() - startDate.getTime());
|
6 |
return (mmSec / 3600000 / 24);
|
8 |
alert(getOffDays( new Date(2009,8,7), new Date(2010,9,17)));
|
JavaScript getTime()方法
getTime()方法所返回了从1970年1月1号以来所积累的毫秒总数。用法dateObject.getTime(),这个方法得结合Date对象使用。
下面的程序得到了从1970年1月1号以来所积累的毫秒总数并输出它:
1 |
<script type= "text/javascript" >
|
3 |
document.write(d.getTime() + " milliseconds since 1970/01/01" )
|
程序运行结果为:
1 |
1284655348088 milliseconds since 1970/01/01 |
下面的程序我们得到了从1970年1月1号以来所用掉的年数总数并输出它:
01 |
<script type= "text/javascript" >
|
03 |
var hours = minutes*60
|
09 |
document.write( "It's been: " + y + " years since 1970/01/01!" )
|
程序运行结果为:
1 |
It's been: 40.73615794193937 years since 1970/01/01! |
JavaScript Date(日期)对象
Date 对象用于处理日期和时间。可以通过 new 关键词来定义 Date 对象。以下代码定义了名为 myDate 的 Date 对象:
1 |
var myDate = new Date();
|
Date 对象自动使用当前的日期和时间作为其初始值。
通过使用针对日期对象的方法,我们可以很容易地对日期进行操作。在下面的例子中,我们为日期对象设置了一个特定的日期 (2008 年 8 月 9 日):
1 |
var myDate = new Date();
|
2 |
myDate.setFullYear(2008,7,9); |
表示月份的参数介于 0 到 11 之间。也就是说,如果希望把月设置为 8 月,则参数应该是 7。
在下面的例子中,我们将日期对象设置为 5 天后的日期:
1 |
var myDate = new Date();
|
2 |
myDate.setDate(myDate.getDate()+5); |
如果增加天数会改变月份或者年份,那么日期对象会自动完成这种转换。
日期对象也可用于比较两个日期。下面的代码将当前日期与 2008 年 8 月 9 日做了比较:
01 |
var myDate= new Date();
|
02 |
myDate.setFullYear(2008,7,9); |
03 |
var today = new Date();
|
06 |
alert( "Today is before 9th August 2008" );
|
10 |
alert( "Today is after 9th August 2008" );
|