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


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 相关文章推荐
jQuery 学习第五课 Ajax 使用说明
May 17 Javascript
Draggable Elements 元素拖拽功能实现代码
Mar 30 Javascript
Safari5中alert的无限循环BUG
Apr 07 Javascript
7个JS基础知识总结
Mar 05 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
Apr 02 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
Jun 24 Javascript
AngularJS中比较两个数组是否相同
Aug 24 Javascript
es6学习笔记之Async函数的使用示例
May 11 Javascript
js自定义瀑布流布局插件
May 16 Javascript
微信小程序实现获取准确的腾讯定位地址功能示例
Mar 27 Javascript
微信小程序实现身份证取景框拍摄
Sep 09 Javascript
vue-video-player视频播放器使用配置详解
Oct 23 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
如何限制访问者的ip(PHPBB的代码)
2006/10/09 PHP
php 之 没有mysql支持时的替代方案
2006/10/09 PHP
php 记录进行累加并显示总时长为秒的结果
2011/11/04 PHP
在Mac上编译安装PHP7的开发环境
2015/07/28 PHP
PHP获取某个月最大天数(最后一天)的方法
2015/07/29 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
使用新的消息弹出框blackbirdjs
2008/10/16 Javascript
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
JS getMonth()日期函数的值域是0-11
2010/02/15 Javascript
Javascript 静态页面实现随机显示广告的办法
2010/11/17 Javascript
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
封装了一个支持匿名函数的Javascript事件监听器
2014/06/05 Javascript
jquery显示loading图片直到网页加载完成的方法
2015/06/25 Javascript
Js获取图片原始宽高的实现代码
2016/05/17 Javascript
jQuery根据name属性进行查找的用法分析
2016/06/23 Javascript
js实现右键菜单功能
2016/11/28 Javascript
vue.js中created方法作用
2018/03/30 Javascript
JavaScript Canvas实现验证码
2020/08/02 Javascript
vue根据进入的路由进行原路返回的方法
2018/09/26 Javascript
浅谈React中组件逻辑复用的那些事儿
2020/05/21 Javascript
[01:12]DOTA2次级职业联赛 - Newbee.Y 战队宣传片
2014/12/01 DOTA
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
python画图的函数用法以及技巧
2019/06/28 Python
pytorch中的自定义数据处理详解
2020/01/06 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
2020/04/20 Python
keras得到每层的系数方式
2020/06/15 Python
美国一家主营日韩美妆护肤品的在线商店:iMomoko
2016/09/11 全球购物
德国旅行、体验和活动的预订平台:Watado
2019/12/04 全球购物
师范毕业生个人求职信
2013/12/09 职场文书
白血病捐款倡议书
2014/05/14 职场文书
感恩信:写给爸爸妈妈的一封感谢信
2019/09/12 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python
详解Nginx 工作原理
2021/03/31 Servers
MySQL 视图(View)原理解析
2021/05/19 MySQL
微信小程序调用python模型
2022/04/21 Python