js 时间戳差 转日(天)时分秒 倒计时工具插件
2017-05-03 17:36
686 查看
本文出自:
http://blog.csdn.net/wyk304443164
就不bb了直接上代码:上面是React代码,下面是js代码
如果你想倒计时:
其实就是-1即可,如果你得出来的时间不对,可能是你后台时间戳不太对,可能需要 除以1000,多试试亲。
js:
引入本js文件后:
http://blog.csdn.net/wyk304443164
就不bb了直接上代码:上面是React代码,下面是js代码
/** * 判断是不是空的或者undefined * @param obj * @returns {boolean} */ common.isNull = function (obj) { return obj == null || obj == 'undefined'; }; /** * 格式化时间戳 * @param diffTime */ common.formatDiffDate = function (diffTime) { let date = { day: 0, hour: 0, minute: 0, second: 0, }; if (diffTime <= 0) { return date; } if (!this.isNull(diffTime)) { //这边是重点 date.day = Math.floor(diffTime / 86400); date.hour = Math.floor(diffTime % 86400 / 3600); date.minute = Math.floor(diffTime % 86400 % 3600 / 60); date.second = Math.floor(diffTime % 86400 % 3600 % 60); } return date; };
如果你想倒计时:
//更新定时器 componentWillReceiveProps(value) { this.setState({ teamDetail: value.teamDetail ? value.teamDetail : {}, }, () => { window.clearTimeout(this.state.countDown);//去掉定时器 this.state.countDown = window.setInterval(() => { this.cut() }, 1000 ); }); } // 销毁 componentWillUnmount() { window.clearTimeout(this.state.countDown); } //剪掉一次倒计时 cut = () => { let time_left = this.state.teamDetail.time_left; if (time_left <= 0 || common.isNull(time_left)) { window.clearTimeout(this.state.countDown);//去掉定时器 } else { //这边是重点 this.state.teamDetail.time_left = this.state.teamDetail.time_left - 1; this.setState({ teamDetail: this.state.teamDetail, }) } };
其实就是-1即可,如果你得出来的时间不对,可能是你后台时间戳不太对,可能需要 除以1000,多试试亲。
js:
var timeUtils = {};//本js对象 var countDown = {};//倒计时对象 var baseTime = 0;//总时间 var callback = null;//回调 //开始 timeUtils.start = function (_baseTime, _callback) { baseTime = _baseTime; callback = _callback; let that = this; this.clear(); countDown = window.setInterval(function () { that.cut(); }, 1000); }; //销毁 timeUtils.clear = function () { window.clearTimeout(countDown);// 去掉定时器 }; // 剪掉一次倒计时 timeUtils.cut = function () { var that = this; if (baseTime <= 0) { window.clearTimeout(countDown);// 去掉定时器 } else { baseTime = baseTime - 1;//php后台是10位,所以这边-1 callback(that.formatDiffDate(baseTime)); } }; /** * 格式化时间戳 * @param diffTime */ timeUtils.formatDiffDate = function (diffTime) { var date = { day: 0, hour: 0, minute: 0, second: 0, }; if (diffTime <= 0) { return date; } date.day = Math.floor(diffTime / 86400); date.hour = Math.floor(diffTime % 86400 / 3600); date.minute = Math.floor(diffTime % 86400 % 3600 / 60); date.second = Math.floor(diffTime % 86400 % 3600 % 60); return date; };
引入本js文件后:
timeUtils.start(56545,function (date) { var dates = JSON.stringify(date); console.log(dates); //TODO 用jq进行渲染,date里面有 天/时/分/秒属性 })
相关文章推荐
- js处理时间插件 时间格式:年月日时分秒
- jquery双日历插件daterangepicker.js设置可选时间时分秒
- jQuery日期和时间插件(jquery-ui-timepicker-addon.js)jquerydatapicker插件 实现时分秒
- jquery.countdown.js一个时间倒计时的插件
- js 倒计时插件(服务器时间,终端时间供选择)
- js时间倒计时
- 刚刚做的一个 JS简单时间控件【JS时分秒时间控件】
- js 将时间转换成秒 计算倒计时
- Javascript (js) 倒计时显示当年剩下的天时分秒
- EditPlus3.1工具以及Js插件(打包下载)
- JS【JS时分秒时间控件】和js 折扣控件
- 年月日时分秒加星期即时显示的JS日期时间特效
- 时间倒计时:时分秒,累积
- jQuery重要插件、JS辅助工具
- php JS 倒计时(减少客户端时间不同步时的误差)
- 兼容 火狐 IE 的JS时间控件 任意格式 年月日时分秒
- js实现考试时间倒计时
- jquery插件:图片截取工具jquery.imagecropper.js
- js时间控件(精确到时分秒)--具有选择修改的功能
- 一个 JS简单时间控件【JS时分秒时间控件】