微信小程序一周时间表功能实现


Posted in Javascript onOctober 17, 2019

这篇文章主要介绍了微信小程序一周时间表功能实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

wxml

 <view class="dateView">
    <image class="dateLeft" bindtap="prevWeek" src="../../res/imgs/dateLeft.png"></image>
    <view>{{dateStart}} 至 {{dateEnd}}</view>
    <image class="dateRight" bindtap="nextWeek" src="../../res/imgs/dateRight.png"></image>
   </view>

wxss

.dateView{
 padding:0 32rpx;
 height:98rpx;
 display: flex;
 align-items: center;
 background:#fff;
}
.dateView>image{
 width:50rpx;
 height:50rpx;
}
.dateView>view{
 flex: 1;
 text-align: center;
 color:#333;
 font-size: 34rpx;
}

js

const GetPeriod = require("../../utils/getperiod.js");
Page({

 /**
  * 页面的初始数据
  */
 data: {
  currentTab: 1,
  dateStart:'2019-10-16',
  dateEnd: '2019-10-16',
 },

 /**
  * 生命周期函数--监听页面加载
  */
 onLoad: function(options) {
  let that = this;
 
  that.getWeekStartDate(0)
 },

 //获取本周的开始日期
 getWeekStartDate(numDay) {
  let that = this;
  this.now = new Date();
  this.nowYear = this.now.getYear(); //当前年 
  this.nowMonth = this.now.getMonth(); //当前月 
  this.nowDay = this.now.getDate(); //当前日 
  this.nowDayOfWeek = this.now.getDay(); //今天是本周的第几天 
  this.nowYear += (this.nowYear < 2000) ? 1900 : 0;
  let dateStart = GetPeriod.formatDate(new Date(this.nowYear, this.nowMonth, this.nowDay - this.nowDayOfWeek + 1 + numDay));
  let dateEnd = GetPeriod.formatDate(new Date(this.nowYear, this.nowMonth, this.nowDay - this.nowDayOfWeek + 7 + numDay));
  // console.log(dateStart)
  // 获取今天日期
  let now = GetPeriod.formatDate(new Date(this.nowYear, this.nowMonth, this.nowDay));
  now = now.replace(/-/g, "/");
  now = now.substring(5);
  this.setData({
   dateStart: dateStart,
   dateEnd: dateEnd,
   now: now,
   dates: now,
  })
  // 初始化数据(历史纪录)
  var timestamp = Date.parse(new Date(this.data.dateStart));
  timestamp = timestamp / 1000;
  // console.log(timestamp);
  that.setData({
   timestamp: timestamp
  })  
 },

// 点击上一周
prevWeek: function(e) {
this.data.num = this.data.num - 7;
this.getWeekStartDate(this.data.num);
},
// 点击下一周
nextWeek: function(e) {
this.data.num = this.data.num + 7;
this.getWeekStartDate(this.data.num);
 },
})
function constructor1 (){
 this.now = new Date();
 this.nowYear = this.now.getYear(); //当前年 
 this.nowMonth = this.now.getMonth(); //当前月 
 this.nowDay = this.now.getDate(); //当前日 
 this.nowDayOfWeek = this.now.getDay(); //今天是本周的第几天 
 this.nowYear += (this.nowYear < 2000) ? 1900 : 0;
}
//格式化数字
function formatNumber (n) {
 n = n.toString()
 return n[1] ? n : '0' + n
}
//格式化日期
function formatDate(date){
 let myyear = date.getFullYear();
 let mymonth = date.getMonth() + 1;
 let myweekday = date.getDate();
 return [myyear, mymonth, myweekday].map(this.formatNumber).join('-');
}
//获取某月的天数
function getMonthDays (myMonth) {
 let monthStartDate = new Date(this.nowYear, myMonth, 1);
 let monthEndDate = new Date(this.nowYear, myMonth + 1, 1);
 let days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24);
 return days;
}
//获取本季度的开始月份
function getQuarterStartMonth (){
 let startMonth = 0;
 if (this.nowMonth < 3) {
  startMonth = 0;
 }
 if (2 < this.nowMonth && this.nowMonth < 6) {
  startMonth = 3;
 }
 if (5 < this.nowMonth && this.nowMonth < 9) {
  startMonth = 6;
 }
 if (this.nowMonth > 8) {
  startMonth = 9;
 }
 return startMonth;
}
//获取本周的开始日期
function getWeekStartDate() {
 return this.formatDate(new Date(this.nowYear, this.nowMonth, this.nowDay - this.nowDayOfWeek + 1));
}
//获取本周的结束日期
function getWeekEndDate() {
 return this.formatDate(new Date(this.nowYear, this.nowMonth, this.nowDay + (6 - this.nowDayOfWeek + 1)));
}
//获取今天的日期
function getNowDate() {
 return this.formatDate(new Date(this.nowYear, this.nowMonth, this.nowDay));
}
function formatTime(date) {
 var year = date.getFullYear()
 var month = date.getMonth() + 1
 var day = date.getDate()
 var hour = date.getHours()
 var minute = date.getMinutes()
 var second = date.getSeconds()
 return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}
module.exports = {
 formatNumber: formatNumber,
 constructor1: constructor1,
 formatDate: formatDate,
 getMonthDays: getMonthDays,
 getQuarterStartMonth: getQuarterStartMonth,
 getWeekStartDate: getWeekStartDate,
 getNowDate: getNowDate,
 getWeekEndDate: getWeekEndDate,
 formatTime: formatTime
}

效果如下

微信小程序一周时间表功能实现

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
浅谈JavaScript字符集
May 22 Javascript
AngularJS基础学习笔记之控制器
May 10 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
May 20 Javascript
jQuery滚动新闻实现代码
Jun 26 Javascript
Google 地图控件集详解及实例代码
Aug 06 Javascript
javascript跨域请求包装函数与用法示例
Nov 03 Javascript
浅析javascript中的Event事件
Dec 09 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
Jan 18 Javascript
jQuery日程管理控件glDatePicker用法详解
Mar 29 jQuery
vue 组件中slot插口的具体用法
Apr 03 Javascript
浅析Vue 生命周期
Jun 21 Javascript
浅析js中mvvm模式实现的原理
Oct 06 Javascript
mpvue 页面预加载新增preLoad生命周期的两种方式
Oct 17 #Javascript
JS工厂模式开发实践案例分析
Oct 17 #Javascript
小程序input数据双向绑定实现方法
Oct 17 #Javascript
mpvue实现小程序签到金币掉落动画(api实现)
Oct 17 #Javascript
JS设置自定义快捷键并实现图片上下左右移动
Oct 17 #Javascript
JavaScript 实现同时选取多个时间段的方法
Oct 17 #Javascript
Layui事件监听的实现(表单和数据表格)
Oct 17 #Javascript
You might like
超外差式晶体管收音机的组装与统调
2021/03/01 无线电
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
2012/09/23 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
2016/05/19 PHP
php和asp语法上的区别总结
2019/05/12 PHP
javascript重写alert方法的实例代码
2013/03/29 Javascript
Jquery事件的连接使用示例
2013/06/18 Javascript
简单时间提示DEMO从0开始一直进行计时
2013/11/19 Javascript
JQuery判断HTML元素是否存在的两种解决方法
2013/12/26 Javascript
用jquery写的菜单从左往右滑动出现
2014/04/11 Javascript
jquery制作LED 时钟特效
2015/02/01 Javascript
jQuery通过Ajax返回JSON数据
2015/04/28 Javascript
IE9+已经不对document.createElement向下兼容的解决方法
2015/09/14 Javascript
JS日期格式化之javascript Date format
2015/10/01 Javascript
Nodejs进阶:express+session实现简易登录身份认证
2017/04/24 NodeJs
js实现图片上传预览原理分析
2017/07/13 Javascript
Vue修改mint-ui默认样式的方法
2018/02/03 Javascript
详解在vue-cli项目下简单使用mockjs模拟数据
2018/10/19 Javascript
微信小程序实现简单评论功能
2018/11/28 Javascript
微信小程序实现提交input信息到后台的方法示例
2019/01/19 Javascript
js实现AI五子棋人机大战
2020/05/28 Javascript
uni-app 组件里面获取元素宽高的实现
2019/12/27 Javascript
vue-cli4.0多环境配置变量与模式详解
2020/12/30 Vue.js
python实现带错误处理功能的远程文件读取方法
2015/04/29 Python
python文件操作相关知识点总结整理
2016/02/22 Python
Python算法输出1-9数组形成的结果为100的所有运算式
2017/11/03 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
2018/12/12 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
wxPython实现文本框基础组件
2019/11/18 Python
Django-migrate报错问题解决方案
2020/04/21 Python
python + selenium 刷B站播放量的实例代码
2020/06/12 Python
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
土耳其时尚购物网站:Morhipo
2017/09/04 全球购物
爷爷追悼会答谢词
2014/01/24 职场文书
湖南省召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
四大名著读书笔记
2015/06/25 职场文书
2016年小学生新年寄语
2015/08/18 职场文书