您的位置:首页 > Web前端 > JavaScript

javascript Date对象

2015-03-09 17:35 274 查看
原文: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>");


上面的例子的显示的结果是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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: