首页 > 网站 > WEB开发 > 正文

javascript Date对象

2024-04-27 14:12:08
字体:
来源:转载
供稿:网友

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((year,month,date[,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>");
View Code

上面的例子的显示的结果是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);}

复制代码


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表