JavaScript中日期的處理是非常常見(jiàn)的操作,比如想要將"2019-05-31"這個(gè)字符串轉(zhuǎn)成Date類型,或者將一個(gè)Date對(duì)象轉(zhuǎn)成"2019/05/31"這種格式的字符串。本文將介紹如何使用JavaScript實(shí)現(xiàn)這些操作。
1. 將字符串轉(zhuǎn)成Date類型
//將"2019-05-31"轉(zhuǎn)成Date類型 var str = "2019-05-31"; var dateArr = str.split("-"); //將字符串按照"-"分割成數(shù)組 var date = new Date(dateArr[0], dateArr[1]-1, dateArr[2]); //傳入年、月、日參數(shù)創(chuàng)建Date對(duì)象 console.log(date); //輸出Thu May 30 2019 20:00:00 GMT-0400 (Eastern Daylight Time)(如果你在東八區(qū),時(shí)間會(huì)是Fri May 31 2019 00:00:00 GMT+0800 (CST)) 第一行,我們先定義了一個(gè)字符串變量str,其值為"2019-05-31"。 第二行,我們使用字符串的split方法將其按照"-"分割成數(shù)組,保存在dateArr中。 第三行,我們使用Date構(gòu)造函數(shù),傳入年、月、日三個(gè)參數(shù),創(chuàng)建一個(gè)Date對(duì)象。 注意:月份要減一,因?yàn)镴avaScript中月份是從0開(kāi)始的,所以我們需要將月份-1。 最后,我們使用console.log方法輸出結(jié)果。
2. 將Date類型轉(zhuǎn)成字符串
//將Date類型轉(zhuǎn)成"2019/05/31"這種格式的字符串 var date = new Date("2019-05-31"); var year = date.getFullYear(); //獲取年 var month = date.getMonth() + 1; //獲取月(月份是從0開(kāi)始的,所以需要+1) var day = date.getDate(); //獲取日 var str = year + "/" + fillZero(month) + "/" + fillZero(day); //拼接字符串 console.log(str); //輸出2019/05/31 第一行,我們創(chuàng)建了一個(gè)Date對(duì)象,其值為"2019-05-31"。 第二行,我們使用Date對(duì)象的getFullYear、getMonth和getDate方法分別獲取年、月、日。 第三行,我們使用一個(gè)自定義的函數(shù)fillZero對(duì)月份和日期進(jìn)行補(bǔ)零,以保證格式的正確性。 第四行,我們使用字符串的拼接方式,拼接年月日,最終得到想要的格式的字符串。 最后,我們使用console.log方法輸出結(jié)果。
3. 自定義函數(shù)fillZero
//自定義函數(shù)fillZero function fillZero(num) { if (num < 10) { return "0" + num; } else { return num; } } 這個(gè)函數(shù)比較簡(jiǎn)單,就是判斷一個(gè)數(shù)字是否小于10,如果小于10,就在前面補(bǔ)0,否則直接返回該數(shù)字本身。
總結(jié)
本文主要介紹了JavaScript中如何將字符串轉(zhuǎn)成Date類型以及如何將Date類型轉(zhuǎn)成字符串的方法,同時(shí)還介紹了一個(gè)自定義函數(shù)fillZero。希望本文能夠?qū)Υ蠹矣兴鶐椭?/p>