Date 日期對象
日期對象可以儲存任意一個日期,并且可以精確到毫秒數(1/1000 秒)。
如何創建一個日期對象
定義一個時間對象 :
【語法】:
var Udate=new Date();
【功能】:創建一個日期時間對象。
【返回值】:不傳參的情況下,返回當前的日期時間對象。
【說明】:
如果想根據特定的日期和時間創建日期對象,必須傳入表示該日期的毫秒數或者是一組用逗號隔開的表示年月日時分秒的參數。
【注意】:使用關鍵字new,Date()的首字母必須大寫。
使 Udate 成為日期對象,并且已有初始值:當前時間(當前電腦系統時間)。
如果要自定義初始值,可以用以下方法:
var d = new Date(2017, 10, 1); //2017年10月1日
var d = new Date('Oct 1, 2017'); //2017年10月1日
我們最好使用下面介紹的“方法”來嚴格定義時間。
★訪問方法語法:
<日期對象>.<方法>
Date對象中處理時間和日期的常用方法:
- 1/獲取年月日時分秒及星期的方法
獲取年月日時分秒及星期的方法.png
★獲取現在的時間
<html>
<head>
<meta charset="UTF-8">
<title>new Date()</title>
</head>
<body>
<script>
//創建一個日期時間對象
var weeks=["日","一","二","三","四","五","六"];
today=new Date(),
year=today.getFullYear(),//年
month=today.getMonth()+1,//月
date=today.getDate(),//日
week=today.getDay(),//星期
hours=today.getHours(),//小時
minutes=today.getMinutes(),//分鐘
seconds=today.getSeconds(),//秒
time=year+"年"+month+"月"+date+"日"+hours+"時"+minutes+"分"+seconds+"秒 星期"+weeks[week];
console.log("現在是:"+time);
</script>
</body>
</html>
- 2/設置年月日時分秒及星期的方法
設置年月日時分秒及星期的方法.png
<html>
<head>
<meta charset="UTF-8">
<title>new Date()</title>
</head>
<body>
<script>
//創建一個日期時間對象
var today=new Date();
today.setMonth(13);
console.log(today.getMonth());//瀏覽器顯示1,實際月份2
console.log(today.getFullYear());//當前年+1
</script>
</body>
</html>
【說明】:
一、返回/設置年份方法:get/setFullYear()
返回/設置年份,用四位數表示。
【案例】
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>獲得年份 </title>
<script type="text/javascript">
var mydate=new Date();//當前時間
document.write(mydate+"<br>");//輸出當前時間
document.write(mydate.getFullYear()+"<br>");//輸出當前年份
mydate.setFullYear(81); //設置年份
document.write(mydate+"<br>"); //輸出年份被設定為 0081年。
</script>
</head>
<body>
</body>
</html>
【注意】
1:不同瀏覽器, mydate.setFullYear(81)結果不同,年份被設定為 0081或81兩種情況。
2:結果格式依次為:星期、月、日、年、時、分、秒、時區。(火狐瀏覽器)
二、返回星期方法:getDay()
返回星期,返回的是0-6的數字,0 表示星期天。如果要返回相對應“星期”,通過數組完成
【案例】
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>獲得星期</title>
<script type="text/javascript">
var mydate=new Date();//定義日期對象
var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
//定義數組對象,給每個數組項賦值
var mynum=mydate.getDay();//返回值存儲在變量mynum中
document.write(mydate.getDay()+"<br>");//輸出getDay()獲取值
document.write("今天是:"+ weekday[mynum]);//輸出星期幾
</script>
</head>
<body>
</body>
</html>
【注意】:以上代碼是在2017年1月19日,星期四運行。
【結果】
4
今天是:星期四
三、返回/設置時間方法:get/setTime()
返回/設置時間,單位毫秒數,計算從 1970 年 1 月 1 日零時到日期對象所指的日期的毫秒數。
【案例】如果將目前日期對象的時間推遲1小時,代碼如下
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>日期對象 </title>
<script type="text/javascript">
var mydate=new Date();
document.write("當前時間:"+mydate+"<br>");
mydate.setTime(mydate.getTime() + 60 * 60 * 1000);
document.write("推遲一小時時間:" + mydate);
</script>
</head>
<body>
</body>
</html>
【注意】
1: 一小時 60 分,一分 60 秒,一秒 1000 毫秒
2: 時間推遲 1 小時,就是: “x.setTime(x.getTime() + 60 * 60 * 1000);”
★【綜合案例】:50天后的今天是?
<html>
<head>
<meta charset="UTF-8">
<title>new Date()</title>
</head>
<body>
<script>
//創建一個日期時間對象
var today=new Date();
//50天之后是星期幾?
//第一種做法
// today.setDate(today.getDate()+50);
// console.log(today.getDay());
//第二種做法
var weeks=["日","一","二","三","四","五","六"];
var year=today.getFullYear();
var month=today.getMonth();
var day=today.getDate();
//創建了一個目標日期對象,年,月,日,時,分,秒
var temp=new Date(year,month,day+50);
console.log("50天后的今天是:"+temp.getFullYear()+"-"+(temp.getMonth()+1)+"-"+temp.getDate()+"-"+"星期"+weeks[temp.getDay()]);
</script>
</body>
</html>
end.
本筆記整理自慕課網