Date format
JavaScript Data格式設定
// 對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(), //小时
"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;
}
調用:
var time1 = new Date().Format("yyyy-MM-dd");
var time2 = new Date().Format("yyyy-MM-dd HH:mm:ss");
//計算日期相減
Date.prototype.dateDiff = function(interval,objDate){
var dtEnd = new Date(objDate);
if(isNaN(dtEnd)) return undefined;
switch (interval) {
case "s":return parseInt((dtEnd - this) / 1000);
case "n":return parseInt((dtEnd - this) / 60000);
case "h":return parseFloat((dtEnd - this) / 3600000);
case "d":return parseInt((dtEnd - this) / 86400000);
case "w":return parseInt((dtEnd - this) / (86400000 * 7));
case "m":return (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-this.getFullYear())*12) - (this.getMonth()+1);
case "y":return dtEnd.getFullYear() - this.getFullYear();
}
}
//回傳日期為星期幾
function Get_Weekend(gDate){
var day_list = ['日', '一', '二', '三', '四', '五', '六'];
var date = new Date(gDate);
var day = date.getDay(); // or "new Date().getDay()";
return day_list[day];
}