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


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 相关文章推荐
JQuery 动态扩展对象之另类视角
May 25 Javascript
JS中表单的使用小结
Jan 11 Javascript
js事件绑定快捷键以ctrl+k为例
Sep 30 Javascript
windows8.1+iis8.5下安装node.js开发环境
Dec 12 Javascript
javascript制作的简单注册模块表单验证
Apr 13 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
Sep 17 Javascript
详解Node.js如何开发命令行工具
Aug 14 Javascript
原生JS实现的雪花飘落动画效果
May 03 Javascript
webstrom Debug 调试vue项目的方法步骤
Jul 17 Javascript
JavaScript设计模式之模板方法模式原理与用法示例
Aug 07 Javascript
vue router 传参获取不到的解决方式
Nov 13 Javascript
extjs图表绘制之条形图实现方法分析
Mar 06 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
Windows中安装Apache2和PHP4权威指南
2006/11/18 PHP
PHP生成指定随机字符串的简单实现方法
2015/04/01 PHP
PHP生成唯一订单号
2015/07/05 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
jQuery-ui中自动完成实现方法
2010/06/10 Javascript
如何在父窗口中得知window.open()出的子窗口关闭事件
2013/10/15 Javascript
使用Js让Html中特殊字符不被转义
2013/11/05 Javascript
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
2013/12/13 Javascript
基于Flowplayer打造一款免费的WEB视频播放器附源码
2015/09/06 Javascript
简单的分页代码js实现
2016/05/17 Javascript
JS中BOM相关知识点总结(必看篇)
2016/11/22 Javascript
解析jQueryEasyUI的使用
2016/11/22 Javascript
简单三步实现报表页面集成天气
2016/12/15 Javascript
vue通过点击事件读取音频文件的方法
2018/05/30 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
如何使用 vue + d3 画一棵树
2018/12/03 Javascript
Elasticsearch实现复合查询高亮结果功能
2019/09/10 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
原生js滑动轮播封装
2020/07/31 Javascript
[01:53]2016完美“圣”典风云人物:Maybe专访
2016/12/05 DOTA
[01:02:26]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第二场 1月18日
2021/03/11 DOTA
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
使用python 和 lint 删除项目无用资源的方法
2017/12/20 Python
Django之全局使用request.user.username的实例详解
2020/05/14 Python
香港钟表珠宝首饰商城:OneMallTime网摩间
2016/10/14 全球购物
Internet主要有哪些网络群组成
2015/12/24 面试题
自荐信的禁忌和要点
2013/10/15 职场文书
前台文员岗位职责
2013/12/28 职场文书
工作自我评价怎么写
2014/01/29 职场文书
教育项目合作协议书格式
2014/10/17 职场文书
2014年前台文员工作总结
2014/12/08 职场文书
少先队辅导员事迹材料
2014/12/24 职场文书
大学生个人简历自荐信
2015/03/06 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书
Python编程编写完善的命令行工具
2021/09/15 Python
vue 给数组添加新对象并赋值
2022/04/20 Vue.js