首页 > web前端 > js教程 > 正文

jquery获取时间方法总结

php中世界最好的语言
发布: 2018-04-23 15:50:23
原创
2375 人浏览过

这次给大家带来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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板