微信小程序实现日期格式化和倒计时


Posted in Javascript onNovember 01, 2020

本文实例为大家分享了微信小程序实现日期格式化和倒计时的具体代码,供大家参考,具体内容如下

首先看看日期怎么格式化

第一种:

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;
 
}

然后是调用this.value1=new Date().Format("yyyy-MM-dd HH:MM:SS")

第二种

1.中国标准时间格式化:

formatDateTime:function(theDate) {
 var _hour = theDate.getHours();
 var _minute = theDate.getMinutes();
 var _second = theDate.getSeconds();
 var _year = theDate.getFullYear()
 var _month = theDate.getMonth();
 var _date = theDate.getDate();
 if (_hour < 10) { _hour ="0" + _hour }
 if (_minute < 10) { _minute = "0" + _minute }
 if (_second < 10) { _second = "0" + _second }
 _month = _month + 1
 if (_month < 10) { _month = "0" + _month; }
 if (_date < 10) { _date ="0" + _date }
 var time= _year + "-" + _month + "-" + _date + " " + _hour + ":" + _minute + ":" + 
 _second;
// var time = new Date();
// var formatTime = formatDateTime(time);
// 返回结果:
// Tue Jun 06 2017 15:31:09 GMT+ 0800(中国标准时间)
// 2017 - 06 - 06 15:31:09
//clock为在data中定义的空变量,存放转化好的日期
 this.setData({
 clock: time
 })
},

2、把格式化时间转换为毫秒数

var formatTimeS = new Date('2017-06-06 15:31:09').getTime();

返回结果:1496734269900

3、把毫秒数转换为标准时间

var formatTimeS = new Date(1496734269900);

返回结果:Tue Jun 06 201715:31:09 GMT+0800(中国标准时间)

二、实现倒计时

//倒计时:其中time_canshu为传入的毫秒数
date_format: function (time_canshu) {
 // let formatTime1 = new Date().getTime();
 // let formatTime2 = new Date('2018-04-24 15:31:09').getTime();
 // let formatTimeS = new Date(formatTime2 - formatTime1);
 var none = '00:00:00';
 if (formatTimeS<=0){
 this.setData({
 clock: none
 })} else {
 // 秒数
 letsecond = Math.floor(time_canshu / 1000);
 // 小时位
 lethr = Math.floor(second / 3600);
 // 分钟位
 letmin = Math.floor((second - hr * 3600) /60);
 // 秒位
 letsec = second % 60;// equal to => var sec = second % 60;
 if (hr <= 9) hr ='0' + hr;
 if (min <= 9) min ='0' + min;
 if (sec <= 9) sec ='0' + sec;
 lettime = hr + ":" + min + ":" + sec + " ";
 this.setData({
 clock: time
 })
 }
},

时间戳转化为日期格式函数

//时间戳转化为日期格式
function timestampToTime(timestamp) {
 var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
 var Y = date.getFullYear() + '-';
 var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
 var D = date.getDate() + ' ';
 var h = date.getHours() + ':';
 var m = date.getMinutes() + ':';
 var s = date.getSeconds();
 return Y+M+D+h+m+s;
 }
 timestampToTime(1403058804);
 console.log(timestampToTime(1403058804));//2014-06-18 10:33:24
 
//日期格式转化为时间戳
var date = new Date('2014-04-23 18:55:49:123');
 // 有三种方式获取
 var time1 = date.getTime();
 var time2 = date.valueOf();
 var time3 = Date.parse(date);
 console.log(time1);//1398250549123
 console.log(time2);//1398250549123
 console.log(time3);//1398250549000
//以上三种获取方式的区别:第一、第二种:会精确到毫秒第三种:只能精确到秒,毫秒用000替代以上三个输出结果可观察其区别注意:获取到的时间戳除以1000就可获得Unix时间戳,就可传值给后台得到。

分/秒转化为天时分

secondToDate (result) {
 if (result > 60) {
 let d = parseInt(Math.floor(result / 86400))
 let h = d > 0? Math.floor((result - d * 86400) / 3600): Math.floor(result / 3600);
 let m = h > 0? Math.floor((result - d * 86400 - h * 3600) / 60): Math.floor(result / 60);
 return d + '天:' + h + '时:' + m + '分'
 } else {
 return result + '秒'
 }
 }

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
使用js检测浏览器的实现代码
May 14 Javascript
jquery中的事件处理详细介绍
Jun 24 Javascript
javascript版2048小游戏
Mar 18 Javascript
JavaScript获取网页支持表单字符集的方法
Apr 02 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
Aug 22 Javascript
JavaScript判断表单为空及获取焦点的方法
Feb 12 Javascript
微信小程序 action-sheet底部菜单详解
Oct 27 Javascript
javascript 初学教程及五子棋小程序的简单实现
Jul 04 Javascript
Bootstrap 按钮样式与使用代码详解
Dec 09 Javascript
Vue 组件参数校验与非props特性的方法
Feb 12 Javascript
JS字符串与二进制的相互转化实例代码详解
Jun 28 Javascript
JS中如何优雅的使用async await详解
Oct 05 Javascript
微信小程序实现商城倒计时
Nov 01 #Javascript
微信小程序实现批量倒计时功能
Nov 01 #Javascript
微信小程序实现订单倒计时
Nov 01 #Javascript
Vue监听页面刷新和关闭功能
Jun 20 #Javascript
Vue 2.0 中依赖注入 provide/inject组合实战
Jun 20 #Javascript
js实现页面多个日期时间倒计时效果
Jun 20 #Javascript
vue实现绑定事件的方法实例代码详解
Jun 20 #Javascript
You might like
神族 Protoss 剧情介绍
2020/03/14 星际争霸
基于PHP读取TXT文件向数据库导入海量数据的方法
2013/04/23 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
2013/05/27 PHP
CI操作cookie的方法分析(基于helper类库)
2016/03/28 PHP
Yii2实现log输出到file及database的方法
2016/11/12 PHP
一个小型js框架myJSFrame附API使用帮助
2008/06/28 Javascript
javascript 可以拖动的DIV(二)
2009/06/26 Javascript
深入理解JS中的变量及作用域、undefined与null
2014/03/04 Javascript
js获取鼠标点击的位置实现思路及代码
2014/05/09 Javascript
Bootstrap的Refresh Icon也spin起来
2016/07/13 Javascript
原生js编写焦点图效果
2016/12/08 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
2017/10/08 Javascript
OpenLayer学习之自定义测量控件
2020/09/28 Javascript
Python中暂存上传图片的方法
2015/02/18 Python
Python实现对PPT文件进行截图操作的方法
2015/04/28 Python
python使用reportlab实现图片转换成pdf的方法
2015/05/22 Python
Python实现求最大公约数及判断素数的方法
2015/05/26 Python
Python字符串逆序的实现方法【一题多解】
2019/02/18 Python
python对文件目录的操作方法实例总结
2019/06/24 Python
python+tkinter实现学生管理系统
2019/08/20 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
Python + opencv对拍照得到的图片进行背景去除的实现方法
2020/11/18 Python
CSS类名支持中文命名的示例
2014/04/04 HTML / CSS
为什么Runtime.exec(“ls”)没有任何输出?
2014/10/03 面试题
新闻专业应届生求职信
2013/10/31 职场文书
品质主管的岗位职责
2013/12/04 职场文书
就业自荐书
2013/12/05 职场文书
餐厅总厨求职信
2014/03/04 职场文书
个人委托书范文
2015/01/28 职场文书
优秀团员个人总结
2015/02/26 职场文书
2015年仓库工作总结
2015/04/09 职场文书
工作犯错保证书
2015/05/11 职场文书
2016年寒假家长评语
2015/10/10 职场文书
MySQL 存储过程的优缺点分析
2021/05/20 MySQL
Python Pandas pandas.read_sql_query函数实例用法分析
2021/06/21 Python
python语言中pandas字符串分割str.split()函数
2022/08/05 Python