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


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 相关文章推荐
懒就要懒到底——鼠标自动点击(含时间判断)
Feb 20 Javascript
使用js完成节点的增删改复制等的操作
Jan 02 Javascript
关闭ie窗口清除Session的解决方法
Jan 10 Javascript
jQuery源码分析之Callbacks详解
Mar 13 Javascript
JS动态修改表格cellPadding和cellSpacing的方法
Mar 31 Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
Aug 07 Javascript
JavaScript事件学习小结(一)事件流
Jun 09 Javascript
原生js获取left值和top值的三种方法
Aug 02 Javascript
Angular 项目实现国际化的方法
Jan 08 Javascript
vue封装一个简单的div框选时间的组件的方法
Jan 06 Javascript
Vue常用传值方式、父传子、子传父及非父子实例分析
Feb 24 Javascript
eslint+prettier统一代码风格的实现方法
Jul 22 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
ThinkPHP关联模型操作实例分析
2012/09/23 PHP
php数组(array)输出的三种形式详解
2013/06/05 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
2014/02/13 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
2015/09/10 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
JS查看对象功能代码
2008/04/25 Javascript
纯js网页画板(Graphics)类简介及实现代码
2012/12/24 Javascript
解析jquery获取父窗口的元素
2013/06/26 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
事件委托与阻止冒泡阻止其父元素事件触发
2014/09/02 Javascript
JS修改iframe页面背景颜色的方法
2015/04/01 Javascript
javaScript中Math()函数注意事项
2015/06/18 Javascript
微信小程序 progress组件详解及实例代码
2016/10/25 Javascript
Vuex之理解Store的用法
2017/04/19 Javascript
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
写gulp遇到的ES6问题详解
2018/12/03 Javascript
微信小程序实现页面跳转传递参数(实体,对象)
2019/08/12 Javascript
vue-路由精讲 二级路由和三级路由的作用
2020/08/06 Javascript
python计算最大优先级队列实例
2013/12/18 Python
Python中的匿名函数使用简介
2015/04/27 Python
python3+PyQt5自定义视图详解
2018/04/24 Python
python 获取微信好友列表的方法(微信web)
2019/02/21 Python
python快排算法详解
2019/03/04 Python
pycharm 设置项目的根目录教程
2020/02/12 Python
python实现模拟器爬取抖音评论数据的示例代码
2021/01/06 Python
比驿:全球酒店比价网
2018/06/20 全球购物
师范院校学生自荐信范文
2013/12/27 职场文书
艾滋病宣传标语
2014/06/25 职场文书
商场促销活动总结
2014/07/10 职场文书
护士优质服务演讲稿
2014/08/26 职场文书
店长岗位职责
2015/02/11 职场文书
培训讲师开场白
2015/06/01 职场文书
2016年中秋祝酒词
2015/11/26 职场文书
Python实现批量将文件复制到新的目录中再修改名称
2022/04/12 Python
如何解决flex文本溢出问题小结
2022/07/15 HTML / CSS