w3cshool之JavaScript Date 对象
Date 对象
Date 对象用于处理日期和时间。
创建 Date 对象的语法:
var myDate=new Date()
注释:Date 对象会自动把当前日期和时间保存为其初始值。
Date 对象属性
FF: Firefox, IE: Internet Explorer
属性 |
描述 |
FF |
IE |
constructor |
返回对创建此对象的 Date 函数的引用。 |
1 |
4 |
prototype |
使您有能力向对象添加属性和方法。 |
1 |
4 |
Date 对象方法
FF: Firefox, IE: Internet Explorer
方法 |
描述 |
FF |
IE |
Date() |
返回当日的日期和时间。 |
1 |
3 |
getDate() |
从 Date 对象返回一个月中的某一天 (1 ~ 31)。 |
1 |
3 |
getDay() |
从 Date 对象返回一周中的某一天 (0 ~ 6)。 |
1 |
3 |
getMonth() |
从 Date 对象返回月份 (0 ~ 11)。 |
1 |
3 |
getFullYear() |
从 Date 对象以四位数字返回年份。 |
1 |
4 |
getYear() |
请使用 getFullYear() 方法代替。重要事项:从 ECMAScript v3 开始,JavaScript 的实现就不再使用该方法,而使用 getFullYear() 方法取而代之! |
1 |
3 |
getHours() |
返回 Date 对象的小时 (0 ~ 23)。 |
1 |
3 |
getMinutes() |
返回 Date 对象的分钟 (0 ~ 59)。 |
1 |
3 |
getSeconds() |
返回 Date 对象的秒数 (0 ~ 59)。 |
1 |
3 |
getMilliseconds() |
返回 Date 对象的毫秒(0 ~ 999)。 |
1 |
4 |
getTime() |
返回 1970 年 1 月 1 日至今的毫秒数。 |
1 |
3 |
getTimezoneOffset() |
返回本地时间与格林威治标准时间 (GMT) 的分钟差。 |
1 |
3 |
getUTCDate() |
根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。 |
1 |
4 |
getUTCDay() |
根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。 |
1 |
4 |
getUTCMonth() |
根据世界时从 Date 对象返回月份 (0 ~ 11)。 |
1 |
4 |
getUTCFullYear() |
根据世界时从 Date 对象返回四位数的年份。 |
1 |
4 |
getUTCHours() |
根据世界时返回 Date 对象的小时 (0 ~ 23)。 |
1 |
4 |
getUTCMinutes() |
根据世界时返回 Date 对象的分钟 (0 ~ 59)。 |
1 |
4 |
getUTCSeconds() |
根据世界时返回 Date 对象的秒钟 (0 ~ 59)。 |
1 |
4 |
getUTCMilliseconds() |
根据世界时返回 Date 对象的毫秒(0 ~ 999)。 |
1 |
4 |
parse() |
返回1970年1月1日午夜到指定日期(字符串)的毫秒数。 |
1 |
3 |
setDate() |
设置 Date 对象中月的某一天 (1 ~ 31)。 |
1 |
3 |
setMonth() |
设置 Date 对象中月份 (0 ~ 11)。 |
1 |
3 |
setFullYear() |
设置 Date 对象中的年份(四位数字)。 |
1 |
4 |
setYear() |
请使用 setFullYear() 方法代替。 |
1 |
3 |
setHours() |
设置 Date 对象中的小时 (0 ~ 23)。 |
1 |
3 |
setMinutes() |
设置 Date 对象中的分钟 (0 ~ 59)。 |
1 |
3 |
setSeconds() |
设置 Date 对象中的秒钟 (0 ~ 59)。 |
1 |
3 |
setMilliseconds() |
设置 Date 对象中的毫秒 (0 ~ 999)。 |
1 |
4 |
setTime() |
以毫秒设置 Date 对象。 |
1 |
3 |
setUTCDate() |
根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。 |
1 |
4 |
setUTCMonth() |
根据世界时设置 Date 对象中的月份 (0 ~ 11)。 |
1 |
4 |
setUTCFullYear() |
根据世界时设置 Date 对象中的年份(四位数字)。 |
1 |
4 |
setUTCHours() |
根据世界时设置 Date 对象中的小时 (0 ~ 23)。 |
1 |
4 |
setUTCMinutes() |
根据世界时设置 Date 对象中的分钟 (0 ~ 59)。 |
1 |
4 |
setUTCSeconds() |
根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。 |
1 |
4 |
setUTCMilliseconds() |
根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。 |
1 |
4 |
toSource() |
返回该对象的源代码。 |
1 |
- |
toString() |
把 Date 对象转换为字符串。 |
1 |
4 |
toTimeString() |
把 Date 对象的时间部分转换为字符串。 |
1 |
4 |
toDateString() |
把 Date 对象的日期部分转换为字符串。 |
1 |
4 |
toGMTString() |
请使用 toUTCString() 方法代替。 |
1 |
3 |
toUTCString() |
根据世界时,把 Date 对象转换为字符串。 |
1 |
4 |
toLocaleString() |
根据本地时间格式,把 Date 对象转换为字符串。 |
1 |
3 |
toLocaleTimeString() |
根据本地时间格式,把 Date 对象的时间部分转换为字符串。 |
1 |
3 |
toLocaleDateString() |
根据本地时间格式,把 Date 对象的日期部分转换为字符串。 |
1 |
3 |
UTC() |
根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。 |
1 |
3 |
valueOf() |
返回 Date 对象的原始值。 |
1. constructor 属性
语法:object.constructor
例子:以下例子输出This is a Date
<script type="text/javascript">
var test=new Date();
if (test.constructor==Array)
{
document.write("This is an Array");
}
if (test.constructor==Boolean)
{
document.write("This is a Boolean");
}
if (test.constructor==Date)
{
document.write("This is a Date");
}
if (test.constructor==String)
{
document.write("This is a String");
}
</script>
2. prototype 属性
语法:object.prototype.name = value
例子:使用 prototype 属性来向对象添加属性
<script type="text/javascript">
function employee(name,job,born)
{
this.name=name;
this.job=job;
this.born=born;
}
var bill = new employee("Bill Gates","Engineer",1985);
//向employee对象添加一个salary属性,不能写成bill.prototype.salary
employee.prototype.salary=null;
bill.salary=20000;
document.write(bill.salary);
</script>
总结:
i. javascript的对象定义都是function。函数名就是对象。
ii.例子中的bill不是一个对象实例吗?咋就不能用它添加属性了捏?因为你要添加属性不得在对象的声明里面加吗,加了之后对象的实例就包含了这个属性了。
3. 综合例子:以不同的格式显示当前日期
<script type="text/javascript">
var d = new Date();
var day = d.getDate();
var month = d.getMonth() + 1;
var year = d.getFullYear();
document.write(day + "." + month + "." + year);
document.write("<br /><br />");
document.write(year + "/" + month + "/" + day);
</script>
4. getDay()方法
语法:dateObject.getDay()
例子:使用 getDay() 和一个数组来输出星期的名称,而不是数字。
<script type="text/javascript">
var d = new Date();
var weekday=new Array(7);
weekday[0] = "Sunday";
weekday[1] = "Monday";
weekday[2] = "Tuesday";
weekday[3] = "Wednesday";
weekday[4] = "Thursday";
weekday[5] = "Friday";
weekday[6] = "Saturday";
document.write("Today it is " + weekday[d.getDay()]);
</script>
5. toLocaleString()、toLocaleTimeString()、toLocaleDateString()举例:
<script type="text/javascript">
var born = new Date()
//根据本地时间格式,把 Date 对象转换为字符串
document.write(born.toLocaleString()+"<br>");
//根据本地时间格式,把 Date 对象的时间部分转换为字符串
document.write(born.toLocaleTimeString()+"<br>");
//根据本地时间格式,把 Date 对象的日期部分转换为字符串
document.write(born.toLocaleDateString());
</script>
6. 显示时钟
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<script type="text/javascript">
function startTime()
{
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
// add a zero in front of numbers<10
m=checkTime(m);
s=checkTime(s);
document.getElementById('txt').innerHTML=h+":"+m+":"+s;
t=setTimeout('startTime()',500);
}
function checkTime(i)
{
if (i<10){
i="0" + i;
}
return i;
}
</script>
</head>
<body onload="startTime()">
<div id="txt"></div>
</body>
</html>