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


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 相关文章推荐
javascript 火狐(firefox)不显示本地图片问题解决
Jul 05 Javascript
JS 时间显示效果代码
Aug 23 Javascript
jquery+ajax验证不通过也提交表单问题处理
Dec 12 Javascript
Node.js的项目构建工具Grunt的安装与配置教程
May 12 Javascript
vue2.0开发实践总结之疑难篇
Dec 07 Javascript
Vue.js简易安装和快速入门(第二课)
Oct 17 Javascript
angular2中使用第三方js库的实例
Feb 26 Javascript
d3绘制基本的柱形图的实现代码
Dec 12 Javascript
vue实现动态显示与隐藏底部导航的方法分析
Feb 11 Javascript
一文快速详解前端框架 Vue 最强大的功能
May 21 Javascript
OpenLayers3实现测量功能
Sep 25 Javascript
JavaScript 生成唯一ID的几种方式
Feb 19 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
PHP类与对象中的private访问控制的疑问
2012/11/01 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
php封装的smarty类完整实例
2016/10/19 PHP
PHP获取表单数据与HTML嵌入PHP脚本的实现
2017/02/09 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
2017/08/18 PHP
动手学习无线电
2021/03/10 无线电
不用MOUSEMOVE也能滑动啊
2007/05/23 Javascript
prototype 学习笔记整理
2009/07/17 Javascript
nodejs中使用多线程编程的方法实例
2015/03/24 NodeJs
javascript数组随机排序实例分析
2015/07/22 Javascript
JS实现六位字符密码输入器功能
2016/08/19 Javascript
ionic组件ion-tabs选项卡切换效果实例
2016/08/27 Javascript
bootstrap使用validate实现简单校验功能
2016/12/02 Javascript
jQuery联动日历的实例解析
2016/12/02 Javascript
jQuery中animate的几种用法与注意事项
2016/12/12 Javascript
深入了解JavaScript的逻辑运算符(与、或)
2016/12/20 Javascript
JS实现数组去重方法总结(六种方法)
2017/07/14 Javascript
深入理解基于vue-cli的vuex配置
2017/07/24 Javascript
Vue0.1的过滤代码如何添加到Vue2.0直接使用
2017/08/23 Javascript
JavaScript new对象的四个过程实例浅析
2018/07/31 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
2018/10/08 Javascript
[42:00]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第一场 12.13
2020/12/17 DOTA
windows系统中python使用rar命令压缩多个文件夹示例
2014/05/06 Python
在Python下尝试多线程编程
2015/04/28 Python
python使用smtplib模块通过gmail实现邮件发送的方法
2015/05/08 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
2016/03/14 Python
详解python之简单主机批量管理工具
2017/01/27 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
2017/05/08 Python
Python中return self的用法详解
2018/07/27 Python
使用Python实现微信提醒备忘录功能
2018/12/04 Python
python给微信好友定时推送消息的示例
2019/02/20 Python
Python3内置模块之base64编解码方法详解
2019/07/13 Python
基于python中__add__函数的用法
2019/11/25 Python
Python函数参数类型及排序原理总结
2019/12/19 Python
教师师德教育的自我评价
2013/10/31 职场文书
邮政员工辞职信
2014/01/16 职场文书