javascript日期格式化和倒計時插件
本章節(jié)分享一段代碼實例,封裝日期格式化和倒計時等功能。
具體的代碼這里不做分析,有興趣的朋友可以自己分析一下,下面直接給出代碼。
代碼:
Angela.date = { //# 日期時間
//@s : 開始時間
//@e : 結束時間
//@n : 當前時間 , n 的格式為 毫秒數(shù)
isInArea: function (s, e, n) { //# 判斷時間區(qū)域
var start = this.parse(s),
end = this.parse(e),
now = parseFloat(n) || new Date()
;
start = Math.min(start, end);
end = Math.max(start, end);
return now >= start && now <= end ? true : false;
}
//把 字符竄轉化為 毫秒
//@date : 2013-03-02 1:2:2
, parse: function (date) { //# 格式化時間
return Date.parse(date); //.replace(/-/g, '/')
}
//@time , 時間 , 如 new Date('2013/11/10 0:12:12')
//@pre , 星期的 前綴,如:周 ,星期
//@ nums ,如:一二三四五六日
, getWeek: function (time, pre, nums) { //# 獲取星期幾
time = typeof time == 'string' ? this.parse(time) : (time || new Date());
pre = pre || '星期'; //周
nums = '日一二三四五六';
return pre + nums[time.getDay()];
}
//@formatType : YYYY, YY, MM
//@ time : new Date('2013/11/12')
//@weeks : 日一二三四五六
, format: function (formatType, time, weeks) { //格式化輸出時間
var pre = '0'
;
formatType = formatType || 'YYYY-MM-DD'
weeks = weeks || '日一二三四五六';
time = time || new Date();
//格式化時間
return (formatType || '')
.replace(/yyyy|YYYY/g, time.getFullYear())
.replace(/yy|YY/g, Tydic.string.addPre(pre, time.getFullYear() % 100), 2)
.replace(/mm|MM/g, Tydic.string.addPre(pre, time.getMonth() + 1, 2))
.replace(/m|M/g, time.getMonth() + 1)
.replace(/dd|DD/g, Tydic.string.addPre(pre, time.getDate(), 2))
.replace(/d|D/g, time.getDate())
.replace(/hh|HH/g, Tydic.string.addPre(pre, time.getHours(), 2))
.replace(/h|H/g, time.getHours())
.replace(/ii|II/g, Tydic.string.addPre(pre, time.getMinutes(), 2))
.replace(/i|I/g, time.getMinutes())
.replace(/ss|SS/g, Tydic.string.addPre(pre, time.getSeconds(), 2))
.replace(/s|S/g, time.getSeconds())
.replace(/w/g, time.getDay())
.replace(/W/g, weeks[time.getDay()])
;
}
//倒計時
, countDown: function (opt) { //# 倒計時
var option = {
nowTime: 0 // 當前時間, ,2013/02/01 18:30:30
, endTime: 0 //截止時間 ,2013/02/01 18:30:30
, interval: 1 //間隔回調時間,秒
, called: function (day, hour, second, minute) { }//每次回調
, finaled: function () { } //完成后回調
}
, opts = {}
, timer = null
;
opts = Tydic.extend(option, opt);
//當前時間
if (!opts.nowTime) {
opts.nowTime = (new Date()).getTime();
} else {
opts.nowTime = this.parse(opts.nowTime);
}
//當前時間
if (!opts.endTime) {
opts.endTime = (new Date()).getTime();
} else {
opts.endTime = this.parse(opts.endTime);
}
timer = setInterval(loop, opts.interval * 1e3);
// 循環(huán)
function loop() {
var ts = opts.endTime - opts.nowTime //計算剩余的毫秒數(shù)
, dd = parseInt(ts / 8.64e7) //計算剩余的天數(shù)
, hh = parseInt(ts / 3.6e7 % 24)//計算剩余的小時數(shù)
, mm = parseInt(ts / 6e4 % 60)//計算剩余的分鐘數(shù)
, ss = parseInt(ts / 1e3 % 60)//計算剩余的秒數(shù)
;
//當前時間遞減
opts.nowTime += opts.interval * 1e3;
if (ts <= 0) {
clearInterval(timer);
opts.finaled();
} else {
opts.called(dd, hh, mm, ss);
}
}
}
};
聲明:本文內容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權/違法違規(guī)的內容, 請發(fā)送郵件至201542412@QQ.com舉報,一經(jīng)查實,本站將立刻刪除。
相關推薦
-
jQuery實現(xiàn)的元素延遲指定時間之后隱藏
本章節(jié)介紹一下如何實現(xiàn)使用jQury讓指定元素延遲一段時間之后隱藏。由于代碼實在是太簡單了,完整的代碼就不給出了,只給出核心的代碼片段。實現(xiàn)方式一://這是1.3.2中我們使用stTimout來
-
在頁面上能夠自動變動的帶有星期的時間日期代碼
在不少網(wǎng)站頁面都有這樣的效果,那就是在頁面的某一個位置會有一個能夠自動變動的時間日期效果。當然這個功能是否能夠給用戶起到實際作用不得而知,因為電腦本身就有這樣的功能。代碼實例: ht
-
帝國cms批量替換時間修改文章發(fā)布時間方法及sql語句
將原來帝國源碼自帶的發(fā)布時間批量修改當前時間或者指定時間,常用于帶有數(shù)據(jù)的帝國cms源碼程序安裝恢復后用一句簡單的sql語句即可解決。
首先進入后臺:
系統(tǒng) - 系統(tǒng)設置 - 備份與恢復數(shù)據(jù) 執(zhí)行sql語句,以新聞模型為例: -
帝國cms靈動標簽調用專題信息,專題時間,專題下的信息數(shù)量
帝國cms靈動標簽調用專題信息,專題時間,專題下的信息數(shù)量
-
WordPress文章時間格式為“幾分鐘前”個性化顯示
網(wǎng)站文章的發(fā)布時間常見的是“年-月-日”這種格式,有些網(wǎng)站,文章發(fā)布時間并不是直接顯示為具體時間,而是顯示為“幾分鐘前”,這樣可以讓瀏覽器覺得文章很個性。1.把下面的函數(shù)代碼添加到當前主題的WordPrss模板函數(shù)文件functions.文件;個性化時間fun















