javascript日期格式化和倒计时插件
本章节分享一段代码实例,封装日期格式化和倒计时等功能。
具体的代码这里不做分析,有兴趣的朋友可以自己分析一下,下面直接给出代码。
代码:
Angela.date = { //# 日期时间
//@s : 开始时间
//@e : 结束时间
//@n : 当前时间 , n 的格式为 毫秒数
isInArea: function (s, e, n) { //# 判断时间区域
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);
// 循环
function loop() {
var ts = opts.endTime - opts.nowTime //计算剩余的毫秒数
, dd = parseInt(ts / 8.64e7) //计算剩余的天数
, hh = parseInt(ts / 3.6e7 % 24)//计算剩余的小时数
, mm = parseInt(ts / 6e4 % 60)//计算剩余的分钟数
, ss = parseInt(ts / 1e3 % 60)//计算剩余的秒数
;
//当前时间递减
opts.nowTime += opts.interval * 1e3;
if (ts <= 0) {
clearInterval(timer);
opts.finaled();
} else {
opts.called(dd, hh, mm, ss);
}
}
}
};
声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至201542412@QQ.com举报,一经查实,本站将立刻删除。
相关推荐
-
jQuery实现的元素延迟指定时间之后隐藏
本章节介绍一下如何实现使用jQury让指定元素延迟一段时间之后隐藏。由于代码实在是太简单了,完整的代码就不给出了,只给出核心的代码片段。实现方式一://这是1.3.2中我们使用stTimout来
-
在页面上能够自动变动的带有星期的时间日期代码
在不少网站页面都有这样的效果,那就是在页面的某一个位置会有一个能够自动变动的时间日期效果。当然这个功能是否能够给用户起到实际作用不得而知,因为电脑本身就有这样的功能。代码实例: ht
-
帝国cms批量替换时间修改文章发布时间方法及sql语句
将原来帝国源码自带的发布时间批量修改当前时间或者指定时间,常用于带有数据的帝国cms源码程序安装恢复后用一句简单的sql语句即可解决。
首先进入后台:
系统 - 系统设置 - 备份与恢复数据 执行sql语句,以新闻模型为例: -
帝国cms灵动标签调用专题信息,专题时间,专题下的信息数量
帝国cms灵动标签调用专题信息,专题时间,专题下的信息数量
-
WordPress文章时间格式为“几分钟前”个性化显示
网站文章的发布时间常见的是“年-月-日”这种格式,有些网站,文章发布时间并不是直接显示为具体时间,而是显示为“几分钟前”,这样可以让浏览器觉得文章很个性。1.把下面的函数代码添加到当前主题的WordPrss模板函数文件functions.文件;个性化时间fun