在微信小程序或者web项目中经常用到需要获取当前时间往后多少天并显示日期含星期几的需求,现在优化为只调用一个js函数,只需调用getDates(days)函数,传入需要显示多少天日期,即返回一个携带日期的数组。

utils/util 程序

const formatTime = date => {const year = date.getFullYear()const month = date.getMonth() + 1const day = date.getDate()const hour = date.getHours()const minute = date.getMinutes()const second = date.getSeconds()return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}const formatNumber = n => {n = n.toString()return n[1] ? n : '0' + n
}//判断两个时间比较大小
function compareDate(d1, d2) {return ((new Date(d1.replace(/-/g, "\/"))) > (new Date(d2.replace(/-/g, "\/"))));
}//当前时间获取
function getCurrentToday(){const date = new Date()var year = date.getFullYear();var mouths = (date.getMonth() + 1) < 10 ? ("0" + (date.getMonth() + 1)) : (date.getMonth() + 1);var day = date.getDate() < 10 ? ("0" + date.getDate()) : date.getDate();var hours = date.getHours();var Minutes = date.getMinutes();//当前分var currentdate = year + "-" + mouths + "-" + day + "\t" + hours + ":" + Minutes;return currentdate
}/*** 传入时间后几天* param:传入时间:dates:"2018-04-02",later:往后多少天*/
function dateLater(dates, later) {let dateObj = {};let show_day = new Array('周日', '周一', '周二', '周三', '周四', '周五', '周六');let date = new Date(dates);date.setDate(date.getDate() + later);let day = date.getDay();dateObj.dates = ((date.getMonth() + 1) < 10 ? ("0" + (date.getMonth() + 1)) : date.getMonth() + 1) + "月" + (date.getDate() < 10 ? ("0" + date.getDate()) : date.getDate()) + "日";dateObj.newdates = ((date.getMonth() + 1) < 10 ? ("0" + (date.getMonth() + 1)) : date.getMonth() + 1) + "-" + (date.getDate() < 10 ? ("0" + date.getDate()) : date.getDate());dateObj.year = date.getFullYear();dateObj.month = ((date.getMonth() + 1) < 10 ? ("0" + (date.getMonth() + 1)) : date.getMonth() + 1);dateObj.day = (date.getDate() < 10 ? ("0" + date.getDate()) : date.getDate());dateObj.week = show_day[day];return dateObj;
}module.exports = {formatTime: formatTime,compareDate: compareDate,getCurrentToday: getCurrentToday,dateLater: dateLater
}

js程序

var util = require('../../utils/util.js');
Page({data: {list:[] //存储日期列表},onLoad: function () {console.log(this.getCurrentMonthFirst()) // console.log(this.getDates(7))this.setData({list:this.getDates(10) //获取10天后日期})console.log(this.data.list)},//获取当前时间getCurrentMonthFirst: function () {var date = new Date();var todate = date.getFullYear() + "-" + ((date.getMonth() + 1) < 10 ? ("0" + (date.getMonth() + 1)) : date.getMonth() + 1) + "-" + (date.getDate() < 10 ? ("0" + date.getDate()) : date.getDate());return todate;},getDates: function (days, todate = this.getCurrentMonthFirst()) {var dateArry = [];for (var i = 0; i < days; i++) {var dateObj = util.dateLater(todate, i);dateArry.push(dateObj)}return dateArry;},
})

wxml程序

<view wx:for="{{list}}"><button>{{item.dates}}  {{item.week}}</button>
</view>

参考链接:

微信小程序获取日期天数带星期  https://www.jianshu.com/p/33736c93d716

具体应用实例请看github上面的日期选择组件栗子:https://github.com/kingbuwu/weapp-date.git

【微信小程序】微信小程序获取当日以后的时间日期天数、星期相关推荐

  1. Java获取当日的起始时间和结束时间

    //获取0点 public static Date getStartTime() {Calendar todayStart = Calendar.getInstance();todayStart.se ...

  2. php获取7天,php 获取未来七天的日期和星期

    php获取未来七天的日期和星期代码 for($i=4;$i<8;$i++){ $dateArray[$i]=date('Y-m-d',strtotime(date('Y-m-d').'+'.$i ...

  3. 获取该字符串表示的日期是星期几,以及这一年的第几天?

    2.分析一下需求,并用代码实现 通过键盘录入日期字符串,格式(2015-10-10),获取该字符串表示的日期是星期几,以及这一年的第几天 如输入:2015-10-10,输出"2015年10月 ...

  4. Python获取、格式化当前时间日期的方法

    本篇文章给大家整理的是关于Python获取.格式化当前时间日期的方法,对此有需要的朋友们可以学习参考. Python获取当前时间_获取格式化时间: Python获取当前时间: 使用 time.time ...

  5. JS获取当日起止时间时间戳

    需求 js获取当天时间的起止时间戳 new Date().setHours(hour,?min,?sec,?ms) Date对象中setHours()方法,必传参数hour,可选参数min,sec,m ...

  6. python获取当前年月日_Python获取、格式化当前时间日期的方法

    Python获取当前时间_获取格式化时间: Python获取当前时间: 使用 time.time( ) 获取到距离1970年1月1日的秒数(浮点数),然后传递给 localtime 获取当前时间 #使 ...

  7. 前端获取明天,后天等的日期和星期几

    废话不多说直接上代码 // 获取明天后天什么日期GetDateStr(AddCount) {var dd = new Date();dd.setDate(dd.getDate() + AddCount ...

  8. php获取laydate,解决laydate时间日期插件定位溢出

    laydate是一款比较好用的网页时间日期插件,不过用起来有一些细节问题需要我们手动去解决!例如:laydate兼容bootstrap 1. 默认情况 laydate弹出层默认对齐input左边框 2 ...

  9. 微信小程序首页index.js获取不到app.js中动态设置的globalData的原因以及解决方法

    微信小程序首页index.js获取不到app.js中动态设置的globalData的原因以及解决方法 参考文章: (1)微信小程序首页index.js获取不到app.js中动态设置的globalDat ...

最新文章

  1. 找不到可安装的ISAM”的问题
  2. [SinGuLaRiTy] 贪心题目复习
  3. linux 精简开机启动服务,打造个人专属的微型Linux--启动原理篇
  4. laravel(二):laravel基本入门 看到Hello Laravel
  5. 微服务、SOA 和 API对比与分析
  6. 0,1,2 代表标准输入、标准输出、标准错误
  7. 【转】 CPU、MCU、MPU、DSP的区别和介绍
  8. linux usb bulk传输,2.1.1.2. USB MSC Bulk-Only (BBB) Transport
  9. win7虚拟光驱+iso文件升级win10
  10. taxi计费器c语言程序,出租车计价器VHDL程序与仿真
  11. 【算法】牛顿迭代法求平方根及多次方根
  12. 云服务器安全组开放所有端口
  13. Type-c边充边传数据应用OTG功能(LDR6028S)
  14. vue如何debugger
  15. C语言渔夫打鱼晒网问题
  16. Excel中文转拼音
  17. 【Jaya算法解决柔性作业车间调度问题(附代码)】
  18. kettle carte repository 资源库 useSSL=false warning 警告
  19. this.name=name;中两个name都是什么意思?
  20. 电商平台如何实现财务分账?

热门文章

  1. 【位运算 异或】51nod区间xor
  2. CGB2107-Day07-实现前后端调用
  3. C++:日期操作、复数加减法、求二元一次方程的根
  4. CentOS7安装nginx 代理vsftp服务器
  5. wince挂起和唤醒_relayon
  6. CCF/CSP 201709-2 公共钥匙盒的求解 C++版
  7. sci论文宝典,科研入门,如何进行科研
  8. atthesametime啥意思_atthesametime是什么意思啊?a – 手机爱问
  9. 《前端》引用包sidebar-menu.js源码及使用
  10. 新西兰android时区代码,Android北京时间转换为新西兰时间