首頁 > web前端 > js教程 > jquery取得時間方法總結

jquery取得時間方法總結

php中世界最好的语言
發布: 2018-04-23 15:50:23
原創
2401 人瀏覽過

這次帶給大家jquery獲取時間方法總結,jquery獲取時間的注意事項有哪些,下面就是實戰案例,一起來看一下。

這篇文章主要介紹了jquery獲取當前時間,月份,年份等,涉及針對日期時間的操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下。

js(jQuery)取得時間的方法及常用時間類別

$(function(){
var mydate = new Date();
var t=mydate.toLocaleString();
/*alert(t);*/
$("#time").text(t);
$("#time").load("Untitled-1.html");
});
<P id="time">afwef</P>
登入後複製

取得JavaScript 的時間使用內建的Date函數完成

var mydate = new Date();
mydate.getYear(); //获取当前年份(2位)
mydate.getFullYear(); //获取完整的年份(4位,1970-????)
mydate.getMonth(); //获取当前月份(0-11,0代表1月)
mydate.getDate(); //获取当前日(1-31)
mydate.getDay(); //获取当前星期X(0-6,0代表星期天)
mydate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
mydate.getHours(); //获取当前小时数(0-23)
mydate.getMinutes(); //获取当前分钟数(0-59)
mydate.getSeconds(); //获取当前秒数(0-59)
mydate.getMilliseconds(); //获取当前毫秒数(0-999)
mydate.toLocaleDateString(); //获取当前日期
var mytime=mydate.toLocaleTimeString(); //获取当前时间
mydate.toLocaleString( ); //获取日期与时间
登入後複製

日期時間腳本庫方法清單

Date.prototype.isLeapYear 判断闰年
Date.prototype.Format 日期格式化
Date.prototype.DateAdd 日期计算
Date.prototype.DateDiff 比较日期差
Date.prototype.toString 日期转
字符串
Date.prototype.toArray 日期分割为数组
Date.prototype.DatePart 取日期的部分信息
Date.prototype.MaxDayOfDate 取日期所在月的最大天数
Date.prototype.WeekNumOfYear 判断日期所在年的第几周
StringToDate 字符串转日期型
IsValidDate 验证日期有效性
CheckDate
Time 完整日期时间检查
daysBetween 日期天数差
登入後複製

//---------------------- -----------------------------
// 判斷閏年
//--------- ------------------------------------------

Date.prototype.isLeapYear = function()
{
return (0==this.getYear()%4&&((this.getYear()0!=0)||(this.getYear()@0==0)));
}
登入後複製

/ /------------------------------------------------- --
// 日期格式化
// 格式YYYY/yyyy/YY/yy 表示年份
// MM/M 月份
// W/w 星期
// dd/ DD/d/D 日期
// hh/HH/h/H 時間
// mm/m 分鐘
// ss/SS/s/S 秒
//---- ----------------------------------------------

#
Date.prototype.Format = function(formatStr)
{
var str = formatStr;
var Week = [&#39;日&#39;,&#39;一&#39;,&#39;二&#39;,&#39;三&#39;,&#39;四&#39;,&#39;五&#39;,&#39;六&#39;];
str=str.replace(/yyyy|YYYY/,this.getFullYear());
str=str.replace(/yy|YY/,(this.getYear() % 100)>9?(this.getYear() % 100).toString():&#39;0&#39; + (this.getYear() % 100));
str=str.replace(/MM/,this.getMonth()>9?this.getMonth().toString():&#39;0&#39; + 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():&#39;0&#39; + this.getDate());
str=str.replace(/d|D/g,this.getDate());
str=str.replace(/hh|HH/,this.getHours()>9?this.getHours().toString():&#39;0&#39; + this.getHours());
str=str.replace(/h|H/g,this.getHours());
str=str.replace(/mm/,this.getMinutes()>9?this.getMinutes().toString():&#39;0&#39; + this.getMinutes());
str=str.replace(/m/g,this.getMinutes());
str=str.replace(/ss|SS/,this.getSeconds()>9?this.getSeconds().toString():&#39;0&#39; + this.getSeconds());
str=str.replace(/s|S/g,this.getSeconds());
return str;
}
登入後複製

// -------------------------------------------- -------
//| 求兩個時間的天數差日期格式為YYYY-MM-dd
// ----------------- ----------------------------------

function daysBetween(DateOne,DateTwo)
{
var OneMonth = DateOne.substring(5,DateOne.lastIndexOf (&#39;-&#39;));
var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf (&#39;-&#39;)+1);
var OneYear = DateOne.substring(0,DateOne.indexOf (&#39;-&#39;));
var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf (&#39;-&#39;));
var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf (&#39;-&#39;)+1);
var TwoYear = DateTwo.substring(0,DateTwo.indexOf (&#39;-&#39;));
var cha=((Date.parse(OneMonth+&#39;/&#39;+OneDay+&#39;/&#39;+OneYear)- Date.parse(TwoMonth+&#39;/&#39;+TwoDay+&#39;/&#39;+TwoYear))/86400000);
return Math.abs(cha);
}
登入後複製

// ------- --------------------------------------------
//|日期計算
// ------------------------------------------- --------

Date.prototype.DateAdd = function(strInterval, Number) {
var dtTmp = this;
switch (strInterval) {
case &#39;s&#39; :return new Date(Date.parse(dtTmp) + (1000 * Number));
case &#39;n&#39; :return new Date(Date.parse(dtTmp) + (60000 * Number));
case &#39;h&#39; :return new Date(Date.parse(dtTmp) + (3600000 * Number));
case &#39;d&#39; :return new Date(Date.parse(dtTmp) + (86400000 * Number));
case &#39;w&#39; :return new Date(Date.parse(dtTmp) + ((86400000 * 7) * Number));
case &#39;q&#39; :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number*3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
case &#39;m&#39; :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
case &#39;y&#39; :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 == &#39;string&#39; )//如果是字符串转换为日期型
{
dtEnd = StringToDate(dtEnd);
}
switch (strInterval) {
case &#39;s&#39; :return parseInt((dtEnd - dtStart) / 1000);
case &#39;n&#39; :return parseInt((dtEnd - dtStart) / 60000);
case &#39;h&#39; :return parseInt((dtEnd - dtStart) / 3600000);
case &#39;d&#39; :return parseInt((dtEnd - dtStart) / 86400000);
case &#39;w&#39; :return parseInt((dtEnd - dtStart) / (86400000 * 7));
case &#39;m&#39; :return (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12) - (dtStart.getMonth()+1);
case &#39;y&#39; :return dtEnd.getFullYear() - dtStart.getFullYear();
}
}
登入後複製

// ----------------------------------------------- ----
//| 日期輸出字串,重載了系統的toString方法
// ----------------------- ----------------------------

Date.prototype.toString = function(showWeek)
{
var myDate= this;
var str = myDate.toLocaleDateString();
if (showWeek)
{
var Week = [&#39;日&#39;,&#39;一&#39;,&#39;二&#39;,&#39;三&#39;,&#39;四&#39;,&#39;五&#39;,&#39;六&#39;];
str += &#39; 星期&#39; + Week[myDate.getDay()];
}
return str;
}
登入後複製

// ------------- --------------------------------------
//| 日期合法性驗證
//| 格式為:YYYY-MM-DD或YYYY/MM/DD
// --------------------------- ------------------------

function IsValidDate(DateStr)
{
var sDate=DateStr.replace(/(^\s+|\s+$)/g,&#39;&#39;); //去两边空格;
if(sDate==&#39;&#39;) return true;
//如果格式满足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替换为&#39;&#39;
//数据库中,合法日期可以是:YYYY-MM/DD(2003-3/21),数据库会自动转换为YYYY-MM-DD格式
var s = sDate.replace(/[\d]{ 4,4 }[\-/]{ 1 }[\d]{ 1,2 }[\-/]{ 1 }[\d]{ 1,2 }/g,&#39;&#39;);
if (s==&#39;&#39;) //说明格式满足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D
{
var t=new Date(sDate.replace(/\-/g,&#39;/&#39;));
var ar = sDate.split(/[-/:]/);
if(ar[0] != t.getYear() || ar[1] != t.getMonth()+1 || ar[2] != t.getDate())
{
//alert(&#39;错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。&#39;);
return false;
}
}
else
{
//alert(&#39;错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。&#39;);
return false;
}
return true;
}
登入後複製

// ----------------- ----------------------------------
//| 日期時間檢查
//| 格式為: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;
}
登入後複製

// ----------------------- ----------------------------
//| 把日期分割成陣列
// ------ ----------------------------------------------

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;
}
登入後複製

// ---------------------------------------------- -----
//| 取得日期資料資訊
//| 參數interval 表示資料型別
//| y 年m月d日w星期ww週h時n分s秒
// ----------------------------------------- ----------

Date.prototype.DatePart = function(interval)
{
var myDate = this;
var partStr=&#39;&#39;;
var Week = [&#39;日&#39;,&#39;一&#39;,&#39;二&#39;,&#39;三&#39;,&#39;四&#39;,&#39;五&#39;,&#39;六&#39;];
switch (interval)
{
case &#39;y&#39; :partStr = myDate.getFullYear();break;
case &#39;m&#39; :partStr = myDate.getMonth()+1;break;
case &#39;d&#39; :partStr = myDate.getDate();break;
case &#39;w&#39; :partStr = Week[myDate.getDay()];break;
case &#39;ww&#39; :partStr = myDate.WeekNumOfYear();break;
case &#39;h&#39; :partStr = myDate.getHours();break;
case &#39;n&#39; :partStr = myDate.getMinutes();break;
case &#39;s&#39; :partStr = myDate.getSeconds();break;
}
return partStr;
}
登入後複製

// ------------------------------- --------------------
//| 取得目前日期所在月的最大天數
// ----------- ----------------------------------------

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,&#39;m&#39;,1);
var result = dateDiff(date1.Format(&#39;yyyy-MM-dd&#39;),date2.Format(&#39;yyyy-MM-dd&#39;));
return result;
}
登入後複製

// - --------------------------------------------------
//| 取得目前日期所在週是一年中的第幾週
// -------------------------- -------------------------

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(&#39;< script language=VBScript\> \n&#39;);
document.write(&#39;myDate = DateValue(&#39;&#39;+month+&#39;-&#39;+day+&#39;-&#39;+year+&#39;&#39;) \n&#39;);
document.write(&#39;result = DatePart(&#39;ww&#39;, myDate) \n&#39;);
document.write(&#39; \n&#39;);
return result;
}
登入後複製


// ------------- --------------------------------------
//| 字串轉成日期類型
//| 格式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(&#39;/&#39;)!=-1?&#39;/&#39;:&#39;-&#39;;
var arys= DateStr.split(&#39;-&#39;);
myDate = new Date(arys[0],--arys[1],arys[2]);
}
return myDate;
}
登入後複製

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

jQuery程式碼效能最佳化方法總結

#使用JQuery操作Ajax(附案例)

以上是jquery取得時間方法總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板