亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

js 時間函數應用加、減、比較、格式轉換的示例代碼

2019-11-20 22:22:22
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

// JavaScript Document
//---------------------------------------------------
// 判斷閏年
//---------------------------------------------------
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 時間
// mm/m 分鐘
// ss/SS/s/S 秒
//---------------------------------------------------
// 對Date的擴展,將 Date 轉化為指定格式的String
// 月(M)、日(d)、小時(h)、分(m)、秒(s)、季度(q) 可以用 1-2 個占位符,
// 年(y)可以用 1-4 個占位符,毫秒(S)只能用 1 個占位符(是 1-3 位的數字)
// 例子:
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
Date.prototype.Format = function(fmt)
{ //author: meizz
var o = {
"M+" : this.getMonth()+1, //月份
"d+" : this.getDate(), //日
"h+" : this.getHours(), //小時
"H+" : this.getHours(), //小時
"m+" : this.getMinutes(), //分
"s+" : this.getSeconds(), //秒
"q+" : Math.floor((this.getMonth()+3)/3), //季度
"S" : this.getMilliseconds() //毫秒
};
if(/(y+)/.test(fmt))
fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)
if(new RegExp("("+ k +")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
return fmt;
}

/**
* 對Date的擴展,將 Date 轉化為指定格式的String
* 月(M)、日(d)、12小時(h)、24小時(H)、分(m)、秒(s)、周(E)、季度(q) 可以用 1-2 個占位符
* 年(y)可以用 1-4 個占位符,毫秒(S)只能用 1 個占位符(是 1-3 位的數字)
* eg:
* (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
* (new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==> 2009-03-10 二 20:09:04
* (new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 周二 08:09:04
* (new Date()).pattern("yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 星期二 08:09:04
* (new Date()).pattern("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
*/
Date.prototype.pattern=function(fmt) {
var o = {
"M+" : this.getMonth()+1, //月份
"d+" : this.getDate(), //日
"h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小時
"H+" : this.getHours(), //小時
"m+" : this.getMinutes(), //分
"s+" : this.getSeconds(), //秒
"q+" : Math.floor((this.getMonth()+3)/3), //季度
"S" : this.getMilliseconds() //毫秒
};
var week = {
"0" : "/u65e5",
"1" : "/u4e00",
"2" : "/u4e8c",
"3" : "/u4e09",
"4" : "/u56db",
"5" : "/u4e94",
"6" : "/u516d"
};
if(/(y+)/.test(fmt)){
fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
}
if(/(E+)/.test(fmt)){
fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468") : "")+week[this.getDay()+""]);
}
for(var k in o){
if(new RegExp("("+ k +")").test(fmt)){
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
}
}
return fmt;
}

//+---------------------------------------------------
//| 求兩個時間的天數差 日期格式為 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);
}

//+---------------------------------------------------
//| 日期計算
//+---------------------------------------------------
Date.prototype.DateAdd = function(strInterval, Number) {
var dtTmp = this;
switch (strInterval) {
case 's' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()+Number); //秒
case 'n' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes()+Number, dtTmp.getSeconds()); //分
case 'h' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()), dtTmp.getDate(), dtTmp.getHours()+Number, dtTmp.getMinutes(), dtTmp.getSeconds()); //時
case 'd' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()), dtTmp.getDate()+Number, dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); //天
case 'w' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()), dtTmp.getDate()+Number*7, dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); //周
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' )//如果是字符串轉換為日期型
{
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();
}
}

//+---------------------------------------------------
//| 日期輸出字符串,重載了系統的toString方法
//+---------------------------------------------------
Date.prototype.toString = function(showWeek)
{
var myDate= this;
var str = myDate.toLocaleDateString();
if (showWeek)
{
var Week = ['日','一','二','三','四','五','六'];
str += ' 星期' + Week[myDate.getDay()];
}
return str;
}

//+---------------------------------------------------
//| 日期合法性驗證
//| 格式為: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就替換為''
//數據庫中,合法日期可以是: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,'');
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('錯誤的日期格式!格式為:YYYY-MM-DD或YYYY/MM/DD。注意閏年。');
return false;
}
}
else
{
//alert('錯誤的日期格式!格式為:YYYY-MM-DD或YYYY/MM/DD。注意閏年。');
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='';
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;
}

//+---------------------------------------------------
//| 取得當前日期所在月的最大天數
//+---------------------------------------------------
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;
}

//+---------------------------------------------------
//| 字符串轉成日期類型
//| 格式 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;
}

頁面驗證代碼
復制代碼 代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script src="timedata.js" type="text/javascript"></script>

<script type="text/javascript">
var nowtime= new Date();
function newdatetime(){
nowtime=nowtime.DateAdd("h",35);
str=nowtime.Format("yyyy-MM-dd HH:mm:ss");
alert(str);

}
</script>

<title>無標題文檔</title>
</head>
<body>
<input type="button" title="格式化" onclick="newdatetime()" value="點擊查看"/>
</body>
</html>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品国产亚洲精品2020| 国产精品视频永久免费播放| 色综合久综合久久综合久鬼88| 欧美综合在线观看| 日韩av电影在线播放| 成人网欧美在线视频| 国产精品网站入口| 亚洲精品日韩久久久| 国产成人精彩在线视频九色| 久久精品电影一区二区| 91在线高清免费观看| 伊人男人综合视频网| 亚洲第一福利网| 中文字幕精品在线| 亚洲精品成人久久| 日韩精品免费在线| 亚洲jizzjizz日本少妇| 精品国产91久久久久久老师| 国产精品麻豆va在线播放| 亚洲精品日韩丝袜精品| 欧美激情精品久久久久久久变态| 亚洲男女性事视频| 亚洲欧美一区二区三区情侣bbw| 国产成人精品在线观看| 亚洲国产成人一区| 曰本色欧美视频在线| 日韩精品视频免费专区在线播放| 国产精品久久久av久久久| 91wwwcom在线观看| 91九色国产视频| 欧美一区二区三区免费观看| 91免费在线视频网站| 欧美性视频精品| 九九热99久久久国产盗摄| 综合久久五月天| 国产精品久久色| 欧美电影免费观看网站| 欧美成人午夜激情在线| 欧美在线一区二区三区四| 国产99久久精品一区二区| 久久九九亚洲综合| 欧美人交a欧美精品| 亚洲a级在线观看| 久久精品国产亚洲一区二区| 国产精品美女主播在线观看纯欲| 亚洲男人av电影| 综合激情国产一区| 久久久久久久久91| 91啪国产在线| 欧美精品九九久久| 精品中文字幕在线| 欧美激情视频播放| 久久久久国产视频| 91亚洲精品久久久久久久久久久久| 亚洲精品短视频| 国产成人精品视频在线观看| 91久久久国产精品| 国产在线观看精品| 夜夜嗨av一区二区三区免费区| 青草成人免费视频| www.欧美视频| 日韩欧美亚洲国产一区| 欧美日韩ab片| 91日韩在线播放| 91精品久久久久久久久久另类| 欧美成人午夜免费视在线看片| 亚洲激情电影中文字幕| 久久天天躁狠狠躁夜夜躁2014| 欧美特黄级在线| 亚洲自拍中文字幕| 国产精品视频一区国模私拍| 欧美大成色www永久网站婷| 国产精品视频自拍| 欧美小视频在线观看| 国产精品夫妻激情| 国产精品一区二区三区毛片淫片| 欧美激情a∨在线视频播放| 国产亚洲精品va在线观看| 亚洲一区二区三区视频| 2019国产精品自在线拍国产不卡| 欧美国产一区二区三区| 91精品免费视频| 中文字幕日本精品| 国产成人拍精品视频午夜网站| 日韩精品免费综合视频在线播放| 欧美精品久久久久久久久久| 欧美电影免费在线观看| 国产精品一区二区久久久| 91欧美激情另类亚洲| 日韩精品免费在线视频| 亚洲娇小xxxx欧美娇小| 69久久夜色精品国产69乱青草| 51精品国产黑色丝袜高跟鞋| 国产不卡av在线免费观看| 91精品久久久久久久久久久| 欧洲美女7788成人免费视频| 欧美激情久久久| 日韩精品极品在线观看播放免费视频| 日韩视频在线免费观看| 久久精品亚洲一区| 伊人久久男人天堂| 91国产视频在线| 亚洲精品综合精品自拍| 国产亚洲一级高清| 欧美一区二区大胆人体摄影专业网站| 在线精品视频视频中文字幕| 中文欧美在线视频| 欧美一级大片在线观看| 亚洲欧美日韩直播| 538国产精品视频一区二区| 91在线视频导航| 亚洲欧美精品在线| 日韩综合视频在线观看| 欧美午夜影院在线视频| 日韩电视剧在线观看免费网站| 一个人www欧美| 91日本在线观看| 最近中文字幕mv在线一区二区三区四区| 中文字幕在线亚洲| 欧美日韩一区二区免费在线观看| 久久成人18免费网站| 亚洲性线免费观看视频成熟| 欧美成人精品一区二区三区| 久久久国产一区二区三区| 国产精品久久久久久久av电影| 国产日韩在线一区| 成人国产亚洲精品a区天堂华泰| 韩国国内大量揄拍精品视频| 国产精品视频精品| 精品久久久精品| 久久精品影视伊人网| 国产精品777| 伊人男人综合视频网| 在线国产精品视频| 91精品久久久久久久久久另类| 国产mv免费观看入口亚洲| 成人免费网站在线观看| 亚洲第一页在线| 欧美乱人伦中文字幕在线| 91麻豆国产语对白在线观看| 中文在线资源观看视频网站免费不卡| 日韩精品中文字幕视频在线| 福利精品视频在线| 欧美黑人性视频| 亚洲第一福利视频| 中文字幕视频在线免费欧美日韩综合在线看| 国产精品高清在线观看| 青青久久av北条麻妃黑人| 欧美日韩不卡合集视频| 国产不卡一区二区在线播放| 精品国产一区二区在线| 91国自产精品中文字幕亚洲| 亚洲国产精品美女| 国产精品久久二区| 国产成人精品网站| 69国产精品成人在线播放| 成年无码av片在线| 亚洲第一免费播放区| 亚洲成色777777女色窝| 国产成人啪精品视频免费网| 日本久久久久久久久久久| 精品国产欧美一区二区三区成人| 欧美激情亚洲自拍| 亚洲女性裸体视频|