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


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 相关文章推荐
js判断浏览器的比较全的代码
Feb 13 Javascript
jquery 查找新建元素代码
Jul 06 Javascript
JavaScript学习笔记之定时器
Jan 22 Javascript
JavaScript函数使用的基本教程
Jun 04 Javascript
利用Node.js制作爬取大众点评的爬虫
Sep 22 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
Dec 08 Javascript
用vue和node写的简易购物车实现
Apr 25 Javascript
详解vue-loader在项目中是如何配置的
Jun 04 Javascript
vue 2.1.3 实时显示当前时间,每秒更新的方法
Sep 16 Javascript
JS中的算法与数据结构之集合(Set)实例详解
Aug 20 Javascript
Ant Design的Table组件去除
Oct 24 Javascript
详解vue中在父组件点击按钮触发子组件的事件
Nov 13 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
Parse正式发布开源PHP SDK
2014/08/11 PHP
php curl模拟post请求和提交多维数组的示例代码
2015/11/19 PHP
PHP实现的简单sha1加密功能示例
2017/08/27 PHP
Yii2框架控制器、路由、Url生成操作示例
2019/05/27 PHP
laravel 关联关系遍历数组的例子
2019/10/10 PHP
不能再简单的无闪刷新验证码原理很简单
2007/11/05 Javascript
JS获取页面input控件中所有text控件并追加样式属性
2013/02/25 Javascript
jquery ajax修改全局变量示例代码
2013/11/08 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
Augularjs-起步详解
2016/07/08 Javascript
JS中使用FormData上传文件、图片的方法
2016/08/07 Javascript
Vue2.0用户权限控制解决方案的示例
2018/02/10 Javascript
解决nodejs的npm命令无反应的问题
2018/05/17 NodeJs
layer弹出的iframe层在执行完毕后关闭当前弹出层的方法
2018/08/17 Javascript
Vue.js样式动态绑定实现小结
2019/01/24 Javascript
Vue批量图片显示时遇到的路径被解析问题
2019/03/28 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
2019/09/27 Javascript
[28:48]《真视界》- 2017年国际邀请赛
2017/09/27 DOTA
python自然语言编码转换模块codecs介绍
2015/04/08 Python
Python创建普通菜单示例【基于win32ui模块】
2018/05/09 Python
Python自定义一个异常类的方法
2019/06/27 Python
python线程的几种创建方式详解
2019/08/29 Python
numpy ndarray 取出满足特定条件的某些行实例
2019/12/05 Python
TFRecord格式存储数据与队列读取实例
2020/01/21 Python
解决Tensorflow占用GPU显存问题
2020/02/03 Python
通过实例解析Python return运行原理
2020/03/04 Python
python如何变换环境
2020/07/21 Python
Python+unittest+DDT实现数据驱动测试
2020/11/30 Python
浅析python连接数据库的重要事项
2021/02/22 Python
家教广告词
2014/03/19 职场文书
抽样调查项目计划书
2014/04/24 职场文书
银行纠风工作实施方案
2014/06/08 职场文书
国庆节慰问信
2015/02/15 职场文书
幼儿园食品安全责任书
2015/05/08 职场文书
反邪教警示教育活动总结
2015/05/09 职场文书
惊天动地观后感
2015/06/10 职场文书