溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JavaScript中如何獲取當(dāng)前日期時(shí)間

發(fā)布時(shí)間:2021-07-29 14:41:23 來源:億速云 閱讀:254 作者:Leah 欄目:編程語言

JavaScript中如何獲取當(dāng)前日期時(shí)間,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

  1. myDate.getYear();        //獲取當(dāng)前年份(2位)

  2. myDate.getFullYear();    //獲取完整的年份(4位,1970-????)

  3. myDate.getMonth();       //獲取當(dāng)前月份(0-11,0代表1月)

  4. myDate.getDate();        //獲取當(dāng)前日(1-31)

  5. myDate.getDay();         //獲取當(dāng)前星期X(0-6,0代表星期天)

  6. myDate.getTime();        //獲取當(dāng)前時(shí)間(從1970.1.1開始的毫秒數(shù))

  7. myDate.getHours();       //獲取當(dāng)前小時(shí)數(shù)(0-23)

  8. myDate.getMinutes();     //獲取當(dāng)前分鐘數(shù)(0-59)

  9. myDate.getSeconds();     //獲取當(dāng)前秒數(shù)(0-59)

  10. myDate.getMilliseconds();    //獲取當(dāng)前毫秒數(shù)(0-999)

  11. myDate.toLocaleDateString();     //獲取當(dāng)前日期

  12. var mytime=myDate.toLocaleTimeString();     //獲取當(dāng)前時(shí)間

  13. myDate.toLocaleString( );        //獲取日期與時(shí)間

[@more@]

  1. 日期時(shí)間腳本庫方法列表


  2. Date.prototype.isLeapYear 判斷閏年

  3. Date.prototype.Format 日期格式化

  4. Date.prototype.DateAdd 日期計(jì)算

  5. Date.prototype.DateDiff 比較日期差

  6. Date.prototype.toString 日期轉(zhuǎn)字符串

  7. Date.prototype.toArray 日期分割為數(shù)組

  8. Date.prototype.DatePart 取日期的部分信息

  9. Date.prototype.MaxDayOfDate 取日期所在月的最大天數(shù)

  10. Date.prototype.WeekNumOfYear 判斷日期所在年的第幾周

  11. StringToDate 字符串轉(zhuǎn)日期型

  12. IsValidDate 驗(yàn)證日期有效性

  13. CheckDateTime 完整日期時(shí)間檢查

  14. daysBetween 日期天數(shù)差

//---------------------------------------------------  
// 判斷閏年  
//---------------------------------------------------  
Date.prototype.isLeapYear = function()    
{    
   return (0==this.getYear()%4&&((this.getYear()%100!=0)||(this.getYear()%400==0)));    
}    
 
//---------------------------------------------------  
// 日期格式化  
// 格式 YYYY/yyyy/YY/yy 表示年份  
// MM/M 月份  
// W/w 星期  
// dd/DD/d/D 日期  
// hh/HH/h/H 時(shí)間  
// mm/m 分鐘  
// ss/SS/s/S 秒  
//---------------------------------------------------  
Date.prototype.Format = function(formatStr)    
{    
   var str = formatStr;    
   var Week = ['日','一','二','三','四','五','六'];  
 
   str=str.replace(/yyyy|YYYY/,this.getFullYear());    
   str=str.replace(/yy|YY/,(this.getYear() % 100)>9?(this.getYear() % 100).toString():'0' + (this.getYear() % 100));    
 
   str=str.replace(/MM/,this.getMonth()>9?this.getMonth().toString():'0' + this.getMonth());    
   str=str.replace(/M/g,this.getMonth());    
 
   str=str.replace(/w|W/g,Week[this.getDay()]);    
 
   str=str.replace(/dd|DD/,this.getDate()>9?this.getDate().toString():'0' + this.getDate());    
   str=str.replace(/d|D/g,this.getDate());    
 
   str=str.replace(/hh|HH/,this.getHours()>9?this.getHours().toString():'0' + this.getHours());    
   str=str.replace(/h|H/g,this.getHours());    
   str=str.replace(/mm/,this.getMinutes()>9?this.getMinutes().toString():'0' + this.getMinutes());    
   str=str.replace(/m/g,this.getMinutes());    
 
   str=str.replace(/ss|SS/,this.getSeconds()>9?this.getSeconds().toString():'0' + this.getSeconds());    
   str=str.replace(/s|S/g,this.getSeconds());    
 
   return str;    
}    
 
//+---------------------------------------------------  
//| 求兩個(gè)時(shí)間的天數(shù)差 日期格式為 YYYY-MM-dd    
//+---------------------------------------------------  
function daysBetween(DateOne,DateTwo)  
{    
   var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-'));  
   var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1);  
   var OneYear = DateOne.substring(0,DateOne.indexOf ('-'));  
 
   var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('-'));  
   var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ('-')+1);  
   var TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-'));  
 
   var cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);    
   return Math.abs(cha);  
}  
 
 
//+---------------------------------------------------  
//| 日期計(jì)算  
//+---------------------------------------------------  
Date.prototype.DateAdd = function(strInterval, Number) {    
   var dtTmp = this;  
   switch (strInterval) {    
       case 's' :return new Date(Date.parse(dtTmp) + (1000 * Number));  
       case 'n' :return new Date(Date.parse(dtTmp) + (60000 * Number));  
       case 'h' :return new Date(Date.parse(dtTmp) + (3600000 * Number));  
       case 'd' :return new Date(Date.parse(dtTmp) + (86400000 * Number));  
       case 'w' :return new Date(Date.parse(dtTmp) + ((86400000 * 7) * Number));  
       case 'q' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number*3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());  
       case 'm' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());  
       case 'y' :return new Date((dtTmp.getFullYear() + Number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());  
   }  
}  
 
//+---------------------------------------------------  
//| 比較日期差 dtEnd 格式為日期型或者 有效日期格式字符串  
//+---------------------------------------------------  
Date.prototype.DateDiff = function(strInterval, dtEnd) {    
   var dtStart = this;  
   if (typeof dtEnd == 'string' )//如果是字符串轉(zhuǎn)換為日期型  
   {    
       dtEnd = StringToDate(dtEnd);  
   }  
   switch (strInterval) {    
       case 's' :return parseInt((dtEnd - dtStart) / 1000);  
       case 'n' :return parseInt((dtEnd - dtStart) / 60000);  
       case 'h' :return parseInt((dtEnd - dtStart) / 3600000);  
       case 'd' :return parseInt((dtEnd - dtStart) / 86400000);  
       case 'w' :return parseInt((dtEnd - dtStart) / (86400000 * 7));  
       case 'm' :return (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12) - (dtStart.getMonth()+1);  
       case 'y' :return dtEnd.getFullYear() - dtStart.getFullYear();  
   }  
}  
 
//+---------------------------------------------------  
//| 日期輸出字符串,重載了系統(tǒng)的toString方法  
//+---------------------------------------------------  
Date.prototype.toString = function(showWeek)  
{    
   var myDate= this;  
   var str = myDate.toLocaleDateString();  
   if (showWeek)  
   {    
       var Week = ['日','一','二','三','四','五','六'];  
       str += ' 星期' + Week[myDate.getDay()];  
   }  
   return str;  
}  
 
//+---------------------------------------------------  
//| 日期合法性驗(yàn)證  
//| 格式為:YYYY-MM-DD或YYYY/MM/DD  
//+---------------------------------------------------  
function IsValidDate(DateStr)    
{    
   var sDate=DateStr.replace(/(^s+|s+$)/g,''); //去兩邊空格;    
   if(sDate=='') return true;    
   //如果格式滿足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替換為''    
   //數(shù)據(jù)庫中,合法日期可以是:YYYY-MM/DD(2003-3/21),數(shù)據(jù)庫會(huì)自動(dòng)轉(zhuǎn)換為YYYY-MM-DD格式    
   var s = sDate.replace(/[d]{ 4,4 }[-/]{ 1 }[d]{ 1,2 }[-/]{ 1 }[d]{ 1,2 }/g,'');    
   if (s=='') //說明格式滿足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D    
   {    
       var t=new Date(sDate.replace(/-/g,'/'));    
       var ar = sDate.split(/[-/:]/);    
       if(ar[0] != t.getYear() || ar[1] != t.getMonth()+1 || ar[2] != t.getDate())    
       {    
           //alert('錯(cuò)誤的日期格式!格式為:YYYY-MM-DD或YYYY/MM/DD。注意閏年。');    
           return false;    
       }    
   }    
   else    
   {    
       //alert('錯(cuò)誤的日期格式!格式為:YYYY-MM-DD或YYYY/MM/DD。注意閏年。');    
       return false;    
   }    
   return true;    
}    
 
//+---------------------------------------------------  
//| 日期時(shí)間檢查  
//| 格式為:YYYY-MM-DD HH:MM:SS  
//+---------------------------------------------------  
function CheckDateTime(str)  
{    
   var reg = /^(d+)-(d{ 1,2 })-(d{ 1,2 }) (d{ 1,2 }):(d{ 1,2 }):(d{ 1,2 })$/;    
   var r = str.match(reg);    
   if(r==null)return false;    
   r[2]=r[2]-1;    
   var d= new Date(r[1],r[2],r[3],r[4],r[5],r[6]);    
   if(d.getFullYear()!=r[1])return false;    
   if(d.getMonth()!=r[2])return false;    
   if(d.getDate()!=r[3])return false;    
   if(d.getHours()!=r[4])return false;    
   if(d.getMinutes()!=r[5])return false;    
   if(d.getSeconds()!=r[6])return false;    
   return true;    
}    
 
//+---------------------------------------------------  
//| 把日期分割成數(shù)組  
//+---------------------------------------------------  
Date.prototype.toArray = function()  
{    
   var myDate = this;  
   var myArray = Array();  
   myArray[0] = myDate.getFullYear();  
   myArray[1] = myDate.getMonth();  
   myArray[2] = myDate.getDate();  
   myArray[3] = myDate.getHours();  
   myArray[4] = myDate.getMinutes();  
   myArray[5] = myDate.getSeconds();  
   return myArray;  
}  
 
//+---------------------------------------------------  
//| 取得日期數(shù)據(jù)信息  
//| 參數(shù) interval 表示數(shù)據(jù)類型  
//| y 年 m月 d日 w星期 ww周 h時(shí) n分 s秒  
//+---------------------------------------------------  
Date.prototype.DatePart = function(interval)  
{    
   var myDate = this;  
   var partStr='';  
   var Week = ['日','一','二','三','四','五','六'];  
   switch (interval)  
   {    
       case 'y' :partStr = myDate.getFullYear();break;  
       case 'm' :partStr = myDate.getMonth()+1;break;  
       case 'd' :partStr = myDate.getDate();break;  
       case 'w' :partStr = Week[myDate.getDay()];break;  
       case 'ww' :partStr = myDate.WeekNumOfYear();break;  
       case 'h' :partStr = myDate.getHours();break;  
       case 'n' :partStr = myDate.getMinutes();break;  
       case 's' :partStr = myDate.getSeconds();break;  
   }  
   return partStr;  
}  
 
//+---------------------------------------------------  
//| 取得當(dāng)前日期所在月的最大天數(shù)  
//+---------------------------------------------------  
Date.prototype.MaxDayOfDate = function()  
{    
   var myDate = this;  
   var ary = myDate.toArray();  
   var date1 = (new Date(ary[0],ary[1]+1,1));  
   var date2 = date1.dateAdd(1,'m',1);  
   var result = dateDiff(date1.Format('yyyy-MM-dd'),date2.Format('yyyy-MM-dd'));  
   return result;  
}  
 
//+---------------------------------------------------  
//| 取得當(dāng)前日期所在周是一年中的第幾周  
//+---------------------------------------------------  
Date.prototype.WeekNumOfYear = function()  
{    
   var myDate = this;  
   var ary = myDate.toArray();  
   var year = ary[0];  
   var month = ary[1]+1;  
   var day = ary[2];  
   document.write('< script language=VBScript> n');  
   document.write('myDate = DateValue(''+month+'-'+day+'-'+year+'') n');  
   document.write('result = DatePart('ww', myDate) n');  
   document.write(' n');  
   return result;  
}  
 
//+---------------------------------------------------  
//| 字符串轉(zhuǎn)成日期類型    
//| 格式 MM/dd/YYYY MM-dd-YYYY YYYY/MM/dd YYYY-MM-dd  
//+---------------------------------------------------  
function StringToDate(DateStr)  
{    
 
   var converted = Date.parse(DateStr);  
   var myDate = new Date(converted);  
   if (isNaN(myDate))  
   {    
       //var delimCahar = DateStr.indexOf('/')!=-1?'/':'-';  
       var arys= DateStr.split('-');  
       myDate = new Date(arys[0],--arys[1],arys[2]);  
   }  
   return myDate;  
}

關(guān)于JavaScript中如何獲取當(dāng)前日期時(shí)間問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI