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


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 相关文章推荐
动态控制Table的js代码
Mar 07 Javascript
input 和 textarea 输入框最大文字限制的jquery插件
Oct 27 Javascript
JavaScript中的索引数组、关联数组和静态数组、动态数组讲解
Nov 08 Javascript
JQuery查找DOM节点的方法
Jun 11 Javascript
jQuery中的AjaxSubmit使用讲解
Sep 25 Javascript
JS中Array数组学习总结
Jan 18 Javascript
jQury Ajax使用Token验证身份实例代码
Sep 22 Javascript
jquery学习笔记之无new构建详解
Dec 07 jQuery
vue-cli 目录结构详细讲解总结
Jan 15 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
Aug 21 Javascript
解决 window.onload 被覆盖的问题方法
Jan 14 Javascript
动态规划之使用备忘录来改进Javascript函数
Apr 07 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
模拟flock实现文件锁定
2007/02/14 PHP
PHP 裁剪图片成固定大小代码方法
2009/09/09 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
2015/04/08 PHP
PHP递归遍历多维数组实现无限分类的方法
2016/05/06 PHP
PHP strripos函数用法总结
2019/02/11 PHP
5款Javascript颜色选择器
2009/10/25 Javascript
jquery 常用操作方法
2010/01/28 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
javascript动态添加checkbox复选框的方法
2015/12/23 Javascript
JavaScript必看小技巧(必看)
2016/06/07 Javascript
d3.js实现简单的网络拓扑图实例代码
2016/11/06 Javascript
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
2017/09/21 Javascript
angularJs自定义过滤器实现手机号信息隐藏的方法
2018/10/08 Javascript
angular 用Observable实现异步调用的方法
2018/12/27 Javascript
js实现无限瀑布流实例方法
2019/09/16 Javascript
解决vue bus.$emit触发第一次$on监听不到问题
2020/07/28 Javascript
jQuery实现穿梭框效果
2021/01/19 jQuery
[43:41]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
Python实现的一个自动售饮料程序代码分享
2014/08/25 Python
Python scikit-learn 做线性回归的示例代码
2017/11/01 Python
Python数据持久化shelve模块用法分析
2018/06/29 Python
Python3最长回文子串算法示例
2019/03/04 Python
python批量识别图片指定区域文字内容
2019/04/30 Python
详解pytorch 0.4.0迁移指南
2019/06/16 Python
python实现猜数游戏
2020/03/27 Python
Python Scrapy图片爬取原理及代码实例
2020/06/12 Python
win10安装python3.6的常见问题
2020/07/01 Python
如何利用Python给自己的头像加一个小国旗(小月饼)
2020/10/02 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
matplotlib部件之套索Lasso的使用
2021/02/24 Python
小学校园活动策划
2014/01/30 职场文书
运动会入场词100字
2014/02/06 职场文书
讲文明树新风公益广告宣传方案
2014/02/25 职场文书
大学生精神文明先进个人事迹材料
2014/05/02 职场文书
2014年药品销售工作总结
2014/12/16 职场文书
师范生小学见习总结
2015/06/23 职场文书