计算某年共有多少个月或周 – vue

写这篇博客的日期是:2月25号
所以,2020年到现在为止只有8周
2019-12-30 到 2020-01-05是2019的最后一周 ,即52周




代码如下:

// 年选择事件:改变年份,根据周或者月计算出相应的月List和周ListchangeYear(data) {if (this.fetchParams.statisticType == "0") { // 时间单位0(月),1(日)this.bindMonth(data);} else {this.bindWeek(data);}},// 选择月或者周changeType(){this.fetchParams.monthFirst = '';this.fetchParams.monthEnd = '';if (this.fetchParams.statisticType == "0") {this.statisticsTitle = '统计-月';this.bindMonth(this.fetchParams.year);} else {this.statisticsTitle = '统计-周';this.bindWeek(this.fetchParams.year);}if(this.checked){ // 当多选框选中时,改变时间单位,四个值一起变this.fetchParams.compareMonthFirst = this.fetchParams.monthFirst;this.fetchParams.compareMonthEnd = this.fetchParams.monthEnd;}},// 计算周bindWeek(year) {this.statisticsList = [];let now = new Date();// 当前年let yearC = now.getFullYear();// 把日期字符串转换成日期格式// var preWeekDay = new Date((now / 1000 - (86400 * 7)) * 1000);  // 一周前,默认是填写上一周数据let selWeek = this.getWeekNumber(now);// 当前这周let defultYear = this.getLastYear();// 获取当前默认年// 现在2018年第一周,默认year是2017,填写2017年最后一周数据let week = this.getWeekNumber(new Date(year + "-12-31")); // 用于周下拉列表绑定if (yearC > year) {selWeek = week;} else {if (defultYear < year) {selWeek = 1;}}for (let i = 1; i < week + 1; i++) {if (i == selWeek) {this.fetchParams.monthFirst  = i;this.fetchParams.monthEnd  = i;}const obj = { id: i, name: i};this.statisticsList.push(obj);}if( year == yearC){this.statisticsList = [];for (let i = 1; i < selWeek + 1; i++) {const obj = { id: i, name: i};this.statisticsList.push(obj);}}},// 计算月bindMonth(year) {this.statisticsList = this.$options.data().statisticsList;if(year != new Date().getFullYear()) {this.fetchParams.monthFirst = 12;this.fetchParams.monthEnd = 12;} else {this.statisticsList = [];for(let i = 1; i <= (new Date().getMonth() + 1); i++) {this.statisticsList.push({ id: Number(i), name: i});}this.fetchParams.monthFirst = new Date().getMonth() + 1;this.fetchParams.monthEnd = new Date().getMonth() + 1;}},isLeapYear(year) { // 判断闰年return (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0);},getMonthDays(year, month) { // 获取月份天数return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month] || (this.isLeapYear(year) ? 29 : 28);},getWeekNumber(now) {let year = now.getFullYear(),month = now.getMonth(),days = now.getDate();// 那一天是那一年中的第多少天for (let i = 0; i < month; i++) {days += this.getMonthDays(year, i);}// 那一年第一天是星期几let yearFirstDay = new Date(year, 0, 1).getDay() || 7;let week = null;if (yearFirstDay == 1) {week = Math.ceil(days / 7);}else {// 上一年的最后一周if ((8 - yearFirstDay) >= days) {getWeekNumber(new Date(year + "-12-31"))}else {days -= (8 - yearFirstDay);week = Math.ceil(days / 7);}days -= (8 - yearFirstDay);}return week;},getLastYear() {let date = new Date();let year = date.getFullYear();let day = date.getDate();let month = date.getMonth();let yearFirstDay = new Date(year, 0, 1).getDay() || 7;// 第一天是礼拜几if (this.fetchParams.statisticType == "0") {if (month == 0 && (8 - yearFirstDay) >= day) {return date.getFullYear() - 1;}} else {return date.getFullYear();}},

初始化获取年份

caculateYeal() { // 获取年份this.yearList = [];const endYear = new Date().getFullYear();for(let i = 2016; i <= endYear; i++) {const obj = { id:Number(i) , name: i + '年'};this.yearList.push(obj);}const endMonth = new Date().getMonth() + 1;const monthList = [];for(let i = 1; i <= endMonth; i++) {const obj = { id: Number(i) , name: i};monthList.push(obj);}this.statisticsList = monthList;},



计算某年共有多少个月或周 -- vue相关推荐

  1. java计算一个月有几周_java 如何获取 一个月 有多少周

    展开全部 你说需要计算一个月有多少周,若是指,一月,二月一直到十二月每个月有多少周的话,可以用32313133353236313431303231363533e59b9ee7ad94313333613 ...

  2. Python 计算在1901年1月1日至2000年12月31日间共有多少个星期天落在每月的第一天上

    题目内容: 根据下列信息计算在1901年1月1日至2000年12月31日间共有多少个星期天落在每月的第一天上? a) 1900.1.1是星期一 b) 1月,3月,5月,7月,8月,10月和12月是31 ...

  3. python:计算在1901年1月1日至2000年12月31日间共有多少个星期天落在每月的第一天上

    根据下列信息计算在1901年1月1日至2000年12月31日间共有多少个星期天落在每月的第一天上? a) 1900.1.1是星期一 b) 1月,3月,5月,7月,8月,10月和12月是31天 c) 4 ...

  4. R语言tidyquant包的tq_transmute函数计算持有某只股票的天、月、周收益率、ggplot2使用条形图(bar plot)可视化股票月收益率数据条形图

    R语言tidyquant包的tq_transmute函数计算持有某只股票的天.月.周收益率.ggplot2使用条形图(bar plot)可视化股票月收益率数据条形图 目录

  5. R语言使用tidyquant包的tq_transmute函数计算持有某只股票的天、月、周收益率、ggplot2使用条形图(bar plot)可视化股票年收益率数据使用不同的色彩表征正收益率和负收益率

    R语言使用tidyquant包的tq_transmute函数计算持有某只股票的天.月.周收益率.ggplot2使用条形图(bar plot)可视化股票年收益率数据使用不同的色彩表征正收益率和负收益率( ...

  6. 26、Power Query-日期与时间数据处理实例(统计出某年各月各周的借书人数)

    本节重点:Power Query-日期与时间数据处理实例(统计出某年各月各周的借书人数) 需求如下: 上图所示,根据左侧的数据源,统计出2016年各月各周的借书人数(效果如右侧所示). 分析:很明显, ...

  7. java 年计算_java实现计算某年某月的天数

    在计算某年某月的天数时,需要注意平年闰年. 分析:闰年具体的判定方法就要看它的判定条件:四年一闰 , 百年不闰 ,400年再闰.而计算该年该月的天数,又分大月和小月,特殊月份2月之分. (视频教程推荐 ...

  8. python报表自动化系列 - 计算某年某个月的天数

    Python计算某年某个月的天数(公历) 李俊才 邮箱:291148484@163.com [函数说明] 传入参数yearmont表示某年的某个具体月份,返回该月的天数. [实现方法] 每单我们指定一 ...

  9. CC++:计算某年某月的1号是星期几

    C&C++函数实训-这天星期几? 任务描述 本关任务:编写函数 whatDay,计算某年某月的1号是星期几并返回. 相关知识 要知道某一天是星期几,可以用已知的某一天进行推导. 例如已知公元1 ...

  10. java表格计算,JAVA表格两日期间月,周,日计算

    JAVA报表两日期间月,周,日计算 //计算天数 public List day(String dates, String datee) throws ParseException { List da ...

最新文章

  1. 0与1c语言编译,C语言程序设计(07776-1)第11章编译预处理课案.ppt
  2. Bugku—MISC题总结
  3. symbian 中自动寻找cmwap连接点,通杀uiq 2nd 3nd和s60 2nd 3nd 5nd
  4. Express接口案例——完成文章评论相关的接口
  5. Android 中文API (46) —— SimpleAdapter
  6. 数据库的备份 mysql
  7. 安卓导航车机root方法_远程调试在Linux车机中的应用
  8. ae制作小球轨迹运动_关于3D建筑漫游动画制作流程及技术详解
  9. Centos6.5 mysql折腾记
  10. 代码审查工具Sonar下载、安装、使用
  11. 计算机职业规划书备选方案,职业规划书备选方案
  12. 关于SiamFC++代码的几个要点
  13. 判断一个数字是否为素数 C++实现
  14. qpython3 安装库_qpython3如何安装库
  15. 解决python使用猴子补丁时引入ssl错误
  16. 如何使用在线客服转接功能
  17. matlab菜鸡学习日志--------使用matlab解析NMEA-0183 协议获取经纬度以及航向角
  18. 原子性 可见性 有序性_极简主义的内容可见性
  19. Material Theme on sublime text 3 一个用起来很好的Sublime主题
  20. 奇安信“科技冬奥”项目成果亮相国家科技计划成果路演行动

热门文章

  1. 批处理PS给相同图片添加不同文字
  2. 前缀、中缀、后缀(逆波兰)表达式以及逆波兰表达式实现简单计算器
  3. vue使用pdf.js预览pdf文件加水印,下载pdf文件
  4. java pdf 水印_java 如何给pdf文件加水印
  5. vulnhub:Who Wants To Be King: 1
  6. matlab 直流无刷电机,无刷直流电机的matlab仿真.pdf
  7. mysql 内连接、左连接会出现笛卡尔积?
  8. php v8js 执行外部js,php运行jsv8引擎
  9. cesium添加填充_项目中的一个关于cesium的边界线的问题
  10. C# 串口接收的优化处理