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


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 基础问答三
Dec 03 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
Apr 19 Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
Nov 26 Javascript
原生js页面滚动延迟加载图片
Dec 20 Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
Jan 22 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
May 16 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
Jun 02 Javascript
静态页面html中跳转传值的JS处理技巧
Jun 22 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
Dec 22 Javascript
js使用xml数据载体实现城市省份二级联动效果
Nov 08 Javascript
一次记住JavaScript的6个正则表达式方法
Feb 22 Javascript
简单了解微信小程序的目录结构
Jul 01 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通过递归方式复制目录和子目录的方法
2015/03/13 PHP
PHP Cookie学习笔记
2016/08/23 PHP
PHP调试及性能分析工具Xdebug详解
2017/02/09 PHP
在laravel中实现事务回滚的方法
2019/10/10 PHP
javascript forEach通用循环遍历方法
2010/10/11 Javascript
js防止页面被iframe调用的方法
2014/10/30 Javascript
jquery性能优化高级技巧
2015/08/24 Javascript
json+jQuery实现的无限级树形菜单效果代码
2015/08/27 Javascript
简要了解jQuery移动web开发的响应式布局设计
2015/12/04 Javascript
js+html5实现的自由落体运动效果代码
2016/01/28 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
2016/11/09 Javascript
JavaScript微信定位功能实现方法
2016/11/29 Javascript
基于jQuery封装的分页组件
2017/06/26 jQuery
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
Vue-cli3简单使用(图文步骤)
2019/04/30 Javascript
[03:22]DOTA2超级联赛专访单车:找到属于自己的英雄
2013/06/08 DOTA
[01:11:27]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Optic
2018/04/03 DOTA
Python线程指南详细介绍
2017/01/05 Python
使用Python写一个量化股票提醒系统
2018/08/22 Python
Python Flask框架实现简单加法工具过程解析
2020/06/03 Python
python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境
2020/12/14 Python
python中count函数知识点浅析
2020/12/17 Python
Html5内唤醒百度、高德APP的实现示例
2019/05/20 HTML / CSS
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
成品仓管员岗位职责
2013/12/11 职场文书
网络研修随笔感言
2014/02/17 职场文书
5s推行计划书
2014/05/06 职场文书
竞争上岗演讲稿范文
2014/05/12 职场文书
纪念九一八事变演讲稿:忘记意味着背叛
2014/09/14 职场文书
教师节标语大全
2014/10/07 职场文书
环境卫生工作汇报材料
2014/10/28 职场文书
2015年元旦联欢晚会活动总结
2014/11/28 职场文书
第28个世界无烟日活动总结
2015/02/10 职场文书
导游词之铁岭象牙山
2019/12/06 职场文书
python解决12306登录验证码的实现
2021/04/18 Python
python自动化八大定位元素讲解
2021/07/09 Python