1. 程式人生 > 其它 >日期和時間-JavaScript入門基礎(010)

日期和時間-JavaScript入門基礎(010)

技術標籤:JavaScriptjavascriptjqueryhtml

Date物件用於處理日期和時間。但是DOM裡並沒有現成的Date物件,而是需要我們自己在需要時建立Data物件。

語法:

varmyDate=newDate();

變數myDate就是一個Date物件。

var year = myDate.getFullYear(); //四位年份,2020varmonth=myDate.getMonth();//0~11,0表示1月份var date = myDate.getDate(); //日期,1-31var day = myDate.getDay(); //星期幾,0~6varhours=myDate.getHours();//時,0~23
varminutes=myDate.getMinutes();//分,0~59varseconds=myDate.getSeconds(); //秒,0~59

建立具有指定日期和時間的Date物件:

語法:

var myDate = new Date(milliseconds); //毫秒varmyDate=newDate(dateString); // 日期字串varmyDate=newDate(year,month,day,hours,minutes,seconds,milliseconds); //

比如:

​​​​​​​

vard2=newDate(2020,12,22);//2020年12月22日vard3=newDate(2020,12,22,10,58,0);//2020年12月22日10:58:00

設定和編輯日期與時間:

​​​​​​​

var myDate = new Date();myDate.setDate(15);  //

這段程式碼,先建立了myDate物件,接著就把日子換成了15日。

​​​​​​​

varmyDate = new Date();myDate.setDate(myDate.getDate() + 33);

這段程式碼,是把當天日期往後推遲33天的日期。

Math物件:

與Date物件不同,Math物件不需要建立就可以使用。

方法描述
ceil(n)返回n向上取證到最近的整數
floor(n)返回n向下取整到最近的整數
max(a,b,c)返回最大值
min(a,b,c)返回最小值
round(n)返回n四捨五入到最近的整數
random()返回一個0到1之間的隨機數

取整:

​​​​​​​

var num1 = 12.55;var num2 = 12.45;Math.floor(num1); // 12Math.ceil(num1);  // 13Math.round(num1); // 13Math.round(num2); // 12

floor是向下取整,ceil是向上取整,round是四捨五入。

最大值和最小值:

​​​​​​​

var value1 = 23;var value2 = 27;var value3 = 31;var value4 = 19;Math.max(value1,value2,value3,value4); // 31Math.min(value,value2,value3); //23

生成隨機數:

用Math.random()方法可以生成0和1之間的一個隨機數。更為常見的情況是,我需要需要獲得0到100之間的隨機數。

我們可以把Math.random()方法包含在一個函式內,在給它一個引數,用於放大倍數。

​​​​​​​

function myRand(range) {returnMath.round(Math.random() * range);}

呼叫時:

myRand(100);

強調一點,在程式程式碼中,可以直接使用Math物件的方法,不要誤認為Math的方法是其他建立物件的方法。

比如:

​​​​​​​

varnum1 = 25.77;num1.floor(); // error

正確的用法是:

Math.floor(num1); // 25

數學常數:

常數描述
E自然常數e,約為2.718
LN22的自然對數,約為0.693
LN1010的自然對數,約為2.302
LOG2E以2為底e的對數,約為1.442
LOG10E以10為底e的對數,約為0.434
PI圓周率,約為3.14159
SQRTI_22的平方根的倒數,約為0.707
SQRT22的平方根,約為1.414

我們可以在數學計算中,直接使用這些常量。

關鍵字with:

任何物件都可以使用關鍵字width,但用Math物件做示範最合適。可以減少輸入量。

示例:

​​​​​​​

with(Math){varmyRand=random();varbiggest=max(3,4,5);varheight=round(76.35);}

可以省去重複輸入Math。

我們看一個完整的時間的示例程式碼:

​​​​​​​

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>當前日期和時間</title>    <style type="text/css">        p {            font: 14px normal Arial,Verdana,helvetica;        }</style>    <script>        function write(name,value="") {            document.write(name + " : " +value);            document.write("<br>");        }
        var now = new Date();        write("當前時間是");        write("year",now.getFullYear());        write("month",now.getMonth());        write("date",now.getDate());        write("hours",now.getHours());        write("minutes",now.getMinutes());        write("seconds",now.getSeconds());</script></head><body>    <script>        tellTime();</script></body></html>

上面的程式碼會把你電腦的當前時間,顯示在網頁上的。如果需要看到時間的變化,可以使用location物件的reload方法。

 <input type="button" value="重新整理" onclick="javascript:location.reload();">

另外插一句,Date物件中的getFullYear和setFullYear ,與getYear和setYear的區別。

getYear和setYaer使用的是兩位數字表示年份,而getFullYear和setFullyear是使用的4位數字表示年份的。考慮到千禧年的問題,目前getYear和setYear已經廢棄,不再使用了。


圖片