javascript Date对象

原文: javascript Date对象

 使用了JavaScript这么久了,还没有好好整理过,现在开始整理一下知识,巩固一下。

   先从Date对象开始。

   Date对象用于处理时间,既然是一个对象,我们就可以使用new这个关键词来得到这个对象,然后就可以使用Date对象本身所提供的方法。得到Date对象可以使用如下的方法

    1,var objDate=new Date();//Date 对象自动使用当前的日期和时间作为其初始值。

    2,  var objDate=new Date(dateVal); //将给定的毫秒数转换为使用的时间

    3,  var objDate=new Date((yearmonthdate[hours[minutes[seconds[,ms]]]]));//指定具体的日期

    较常用的是第一种方式和第三种方式。

    下面来看一下上面所使用到的参数     

       dateVal

             必选项。如果是数字值,dateVal 表示指定日期与 1970 年 1 月 1 日午夜间全球标准时间 的毫秒数。如果是字符串,则 dateVal 按照 parse 方法中的规则进行解                   析。dateVal 参数也可以是从某些 ActiveX(R) 对象返回的 VT_DATE 值。

        year

             必选项。完整的年份,比如,1976(而不是 76)。

        month

             必选项。表示的月份,是从 0 到 11 之间的整数( 1 月至 12 月)。

        date

             必选项。表示日期,是从 1 到 31 之间的整数。

        hours

              可选项。 如果提供了 minutes 则必须给出。表示小时,是从 0 到 23 的整数(午夜到 11pm)。

       minutes

              可选项。 如果提供了 seconds 则必须给出。表示分钟,是从 0 到 59 的整数。

       seconds

              可选项。 如果提供了 milliseconds 则必须给出。表示秒钟,是从 0 到 59 的整数。

        ms

               可选项。 表示毫秒,是从 0 到 999 的整数。

 

  已经获得了时间的对象,我们就可以使用这个对象,例如

var date=new Date();
document.write(date);

上面代码得到是本机的时间,时间的现实为 Mon Mar 09 2015 15:43:04 GMT+0800 (中国标准时间),很明显这样的显示格式不是我们想要的,所以我们就要用到Date这个对象的方法,来制定自己的时间显示格式。

然而Date这个对象提供了很多的方法,常用的得到时间方法也就getYear(),getFullYear(),getMonth(),getDate(),getDay(),getHours(),getMinutes(),getSeconds(),getTime()这么几个,下面简单介绍下这几个方法

getYear() 返回Date对象中本地的年份,这个方法已经过时,之所以提供这个方法,是为了保持向后的兼容性。请改用 getFullYear 方法。对于1900-1999这段时间而言,返回                的年份值是一个两位数字的整数,它代表了所保存的年份与 1900 年之间的差距。而对于其它的年份,返回值是一个四位的整数。例如,1996 年的返回值是 96,而                  1825和 2025 年的返回值则相应地为 1825 和 2025。

             注意 对于 JScript 1.0 版,getYear 返回的值始终为 Date 对象中的年份与 1900 年之间的差距。例如,1899 年的返回值是 -1, 而 2000 年的返回值是 100。 

var date = new Date();
document.write(date.getYear());

显示的结果是115,而不是我们所期待的2015

getFullYear()  要获取用全球标准时间 (UTC)表示的年份值,请使用 getUTCFullYear 方法。getFullYear 方法以绝对数字的形式返回年份值。例如,1976 年的返回值就是                      1976。这样可以避免出现 2000 年问题,从而不会将 2000 年1月1日以后的日期与 1900 年1月1日以后的日期混淆起来。

var date = new Date();
document.write(date.getFullYear());

显示的结果就是我们所期待的2015

 

getMonth() 得到本地时间表中的月份值,getMonth方法返回一个处于 0 到 11 之间的整数,它代表 Date 对象中的月份值。这个整数并不等于按照惯例来表示月份的数字,而                  是要比按惯例表示的值小 1。如果一个 Date 对象中保存的时间值是 "Jan 5, 2015 08:47:00",那么 getMonth()方法就会返回 0。

            var date = new Date();
            document.write(date.getMonth() + "</br>");
            document.write(date.getUTCMonth() + "</br>");
            var setDate = new Date("Jan 5, 2015 08:47:00");
            document.write(setDate.getMonth() + "</br>");

上面的例子的显示的结果是2  2  0,所以要显示正确的月份要相应的加 1

getDate()  获取当前时间月份中的几号,返回值是一个处于 1 到 31 之间的整数,它代表了相应的 Date 对象中的日期值。

var date = new Date();
document.write(date.getDate()+ "</br>");

运行的结果是 9

 

getDay() 表示当前时间日期中的周几,getDay方法所返回的值是一个处于 0 到 6 之间的整数,它代表了一周中的某一天

getDay()返回值对应的星期值
0星期天
1星期一
2星期二
3星期三
4星期四
5星期五
6星期六

getHours() 方法返回一个处于 0 到 23 之间的整数,这个值表示从午夜开始计算的小时数。在下面两种情况下此方法的返回值是 0:时间在 1:00:00 am 之前,或者在创建                        Date 对象的时候没有将时间保存在该对象中。而要确定究竟是哪种情况,唯一的方法就是进一步检查分钟和秒钟值是否也是 0。如果这两个值都是 0,那就几乎可以                  确定是没有将时间值保存到 Date 对象中。

getMinutes() 方法返回一个处于 0 到 59 之间的整数,返回值就等于保存在 Date 对象中的分钟值。在下面两种情况下返回值为 0:在时钟整点之后经过的时间少于一分钟,或者                    是在创建 Date 对象的时候没有将时间值保存到该对象中。而要确定究竟是哪种情况,唯一的方法是同时检查小时和秒钟值是否也是 0。如果这两个值都是 0,那就                    几乎可以确定是没有将时间值保存到该 Date 对象中。

getSeconds()  方法返回一个处于 0 到 59 之间的整数,它表示了相应的 Date 对象中的秒钟值。在下面两种情况下,返回值为 0。第一种情况是在当前的一分钟中所经过的时间                      少于一秒。另外一种情况是在创建 Date 对象时没有将时间值保存到该对象中。而为了确定究竟属于哪种情况,唯一的方法是同时检查小时和分钟值是否也都是                          0。如果这两个值都是 0,那就几乎可以确定是没有将时间值保存到 Date 对象中。

getTime()    方法返回一个整数值,这个整数代表了从 1970 年 1 月 1 日开始计算到 Date 对象中的时间之间的毫秒数。日期的范围大约是 1970 年 1 月 1 日午夜的前后各                        285,616 年。负数代表 1970 年之前的日期。

 

至于设置时间,我们可以使用 Date 对象提供的各种set方法,但是最简单的则是在 new 对象的时候我们就可以初始化时间,例如:

           var date = new Date("2016");
            document.write(date.getFullYear()+ "</br>");
            var setDate = new Date();
            setDate.setFullYear(2016);
            document.write(setDate.getFullYear() + "</br>");

得到的结果都是相同的,都是2016,只是写入的数据不同,new Date()填写的是字符串setFullYear()则是相应的整数。

 

下面给个结合数组显示当前日期的时钟

复制代码
 function showNowDate()
        {
            var date = new Date();
            var year = date.getFullYear();
            var month = date.getMonth();
            var day = date.getDate();
            var isMonth = new Array("1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月");
            var isDay = new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
            document.write("今天日期是:"+year+"年"+isMonth[month]+day+"日"+" "+isDay[date.getDay()]);
        }
复制代码

显示当前具体时间的时钟

复制代码
function showTimeMethod()
{
var date = new Date();
var hour = date.getHours();
var minuts = date.getMinutes();
var seconds = date.getSeconds();
document.getElementById("showTime").value = hour + ":" + minuts + ":" + seconds;
setTimeout("showTimeMethod()",100);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值