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


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 打印页面代码
Mar 24 Javascript
JQuyer $.post 与 $.ajax 访问WCF ajax service 时的问题需要注意的地方
Sep 20 Javascript
JQuery的ready函数与JS的onload的区别详解
Nov 21 Javascript
node.js中的fs.lchown方法使用说明
Dec 16 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史
Jan 09 Javascript
Bootstrap字体图标无法正常显示的解决方法
Oct 08 Javascript
jQuery Validate让普通按钮触发表单验证的方法
Dec 15 Javascript
深入理解Vue官方文档梳理之全局API
Nov 22 Javascript
React BootStrap用户体验框架快速上手
Mar 06 Javascript
全面分析JavaScript 继承
May 30 Javascript
安装多版本Vue-CLI的实现方法
Mar 24 Javascript
Javascript生成器(Generator)的介绍与使用
Jan 31 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
重量级动漫纷纷停播!唯独OVERLORD第四季正在英魂之刃继续更新
2020/05/06 日漫
PHP中构造函数和析构函数解析
2014/10/10 PHP
微信公众平台之快递查询功能用法实例
2015/04/14 PHP
PHP面向对象中new self()与 new static()的区别浅析
2017/08/17 PHP
详解php 使用Callable Closure强制指定回调类型
2017/10/26 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
php设计模式之建造器模式分析【星际争霸游戏案例】
2020/01/23 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
2020/04/06 PHP
执行iframe中的javascript方法
2008/10/07 Javascript
获取网站跟路径的javascript代码(站点及虚拟目录)
2009/10/20 Javascript
说说JSON和JSONP 也许你会豁然开朗
2012/09/02 Javascript
js从Cookies里面取值的简单实现
2014/06/30 Javascript
Javascript中arguments对象的详解与使用方法
2016/10/04 Javascript
js学习之----深入理解闭包
2016/11/21 Javascript
js实现九宫格的随机颜色跳转
2017/02/19 Javascript
基于Bootstrap table组件实现多层表头的实例代码
2017/09/07 Javascript
js封装成插件_Canvas统计图插件编写实例
2017/09/12 Javascript
React Native时间转换格式工具类分享
2017/10/24 Javascript
详解vue通过NGINX部署在子目录或者二级目录实践
2018/09/03 Javascript
Vue.js 中的 v-show 指令及用法详解
2018/11/19 Javascript
js的各种数据类型判断的介绍
2019/01/19 Javascript
深入理解Python中字典的键的使用
2015/08/19 Python
Python中运算符&quot;==&quot;和&quot;is&quot;的详解
2016/10/08 Python
Python求离散序列导数的示例
2019/07/10 Python
python 实现多线程下载视频的代码
2019/11/15 Python
python构造IP报文实例
2020/05/05 Python
关于Keras Dense层整理
2020/05/21 Python
PyCharm+PyQt5+QtDesigner配置详解
2020/08/12 Python
北美主要的汽车零部件零售商:AutoShack.com
2019/02/23 全球购物
领导证婚人证婚词
2014/01/13 职场文书
工程采购员岗位职责
2014/03/09 职场文书
2014迎接教师节演讲稿
2014/09/10 职场文书
2015年乡镇卫生院工作总结
2015/04/22 职场文书
小学大队干部竞选稿
2015/11/20 职场文书
如何用JavaScipt测网速
2021/05/09 Javascript
全面盘点MySQL中的那些重要日志文件
2021/11/27 MySQL