詳解JavaScript Date對象

一、何爲Date?

Javascript當中 Date 對象用於處理日期與時間。

以下四種方法可以創建 Date 對象:

var date = new Date();
var date  = new Date(milliseconds);
var date  = new Date(dateString);
var date  = new Date(year, month, day, hours, minutes, seconds, milliseconds);

二、根據Date返回 年、月、日、時、分、秒、毫秒、周幾

2.1 getFullYear() 返回年

let date = new Date();
console.log(date.getFullYear());
//運行結果:2020

2.2 getMonth() 返回月

注意 :返回的的月份比真實月份小一個月也就是 (0-11)

let date = new Date();
console.log(date.getMonth()+1);
//運行結果:5

2.3 getDate() 返回日

let date = new Date();
console.log(date.getDate());
//運行結果:25

2.4 getHours() 返回小時

注意:是24小時制

let date = new Date();
console.log(date.getHours());
//運行結果:21

2.5 getMinutes() 返回分鐘

let date = new Date();
console.log(date.getMinutes());
//運行結果:30

2.6 getSeconds() 返回秒

let date = new Date();
console.log(date.getSeconds());
//運行結果:58

2.7 getMilliseconds() 返回毫秒

let date = new Date();
console.log(date.getMilliseconds());
//運行結果:929

2.8 getDay() 返回周幾

注意: 返回的是 0-6
0 對應 周天
1 對應 週一
2 對應 週二
以此類推

let date = new Date();
console.log(date.getDay());
//運行結果:1

2.9根據以上內容,我們即可輸出本地時間

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <script>
        let date = new Date();
        
        let year = date.getFullYear();//年
        let month = date.getMonth()+1;//月
        let newdate = date.getDate();//日
        let hours = date.getHours();//時
        let minutes = date.getMinutes();//分
        let seconds = date.getSeconds();//秒
        let day = date.getDay();//周幾

        function Day(day){
            if(day == 0){
                return day='日';
            }else if(day == 1){
                return day='一';
            }else if(day == 2){
                return day='二';
            }else if(day == 3){
                return day='三';
            }else if(day == 4){
                return day='四';
            }else if(day == 5){
                return day='五';
            }else if(day == 6){
                return day='六';
            }
        }

        function add(num){
            if(num<=9){
                return num='0'+num;
            }else{
                return num;
            }
        }

        console.log(year+'年'+add(month)+'月'+add(newdate)+'日'+'星期'+Day(day)+' '+add(hours)+':'+add(minutes)+':'+add(seconds));
    </script>
</head>
<body>
</body>
</html>

這裏我們定義了兩個函數 Day()add()

  1. 爲什麼要定義Day()呢?
    因爲getDay()爲我們返回的是數字0-6,而我們需要的是中文 一、二、三、四、五、六、日
    所以定義Day()函數的作用就是爲我們返回中文的。

  2. 爲什麼要定義add()呢?
    因爲 月、日、時、分、秒 返回小於10的時候並沒有前面的數字0,
    而我們定義這個函數的作用就是增加前導0;

運行結果:2020年05月25日星期一 22:11:58

三、轉化爲常用格式

3.1 toLocaleDateString() 根據本地時間格式,把 Date 對象的日期部分轉換爲字符串。

let date = new Date();

console.log(date.toLocaleDateString());
//運行結果:2020/5/25

3.2 toLocaleTimeString() 根據本地時間格式,把 Date 對象的時間部分轉換爲字符串。

let date = new Date();

console.log(date.toLocaleTimeString());
//運行結果:下午10:24:02

3.3 toLocaleString() 根據本地時間格式,把 Date 對象轉換爲字符串。

let date = new Date();

console.log(date.toLocaleString());
//運行結果:2020/5/25 下午10:25:08

四、設置Date對象當中的某些值

4.1 setFullYear() 設置Date對象中的年份(四位數字)

var date = new Date();

date.setFullYear(2000);
console.log(date.toLocaleString());
//2000/5/25 下午10:35:56

4.2 setMonth() 設置 Date 對象中月份 (0 ~ 11)。

var date = new Date();
date.setMonth(0);
console.log(date.toLocaleString());
//2020/1/25 下午10:37:55

4.3 setDate() 設置 Date 對象中月的某一天 (1 ~ 31)

var date = new Date();
date.setDate(15);
console.log(date.toLocaleString());
//2020/5/15 下午10:32:57

4.4 setHours() 設置 Date 對象中的小時 (0 ~ 23)。

4.5 setMinutes() 設置 Date 對象中的分鐘 (0 ~ 59)。

4.6 setSeconds() 設置 Date 對象中的秒鐘 (0 ~ 59)。

4.7 setMilliseconds() 設置 Date 對象中的毫秒 (0 ~ 999)。

4.8 setTime() 方法以毫秒設置 Date 對象。

let date = new Date();
date.setTime(2332403882588);
console.log(date.toLocaleString());
//2043/11/29 下午5:58:02
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章