条件:打印 月份-第几周 若本月前七天不在全在第一周则这一周计入到上月第五周。

分析:
  1.条件判断分别处理前七天和大于等于七天的数据;
  2.当前月的7号是关键,如果在周天就不需要放到上月,如果不在周天就要条件判断。
  3.日期函数理解
时间函数:
  创建 Date 对象的语法:var myDate=new Date()
  Date()-返回当日的日期和时间
  getDate()-从Date对象返回一个月中的某一天(1-31)
  getDay()-从Date对象返回一个周内的某一天(0-6对应周天到周六)
  getMonth()-从Date对象月份(0-11)
  getFullYear()/getYear()-从Date对象以四位数字返回年份
  parse()-返回1970年1月1日午夜到指定日期(字符串)的毫秒数(时间戳)。
  setDate()-设置Date对象月中的某一天
<!-- 第几月的第几周 打印结果: 月份-第几周 若本月前七天不在全在第一周则这一周计入到上月第五周,余下的周要减一-->
<template>
<div>
<p>week of month!</p>
</div>
</template> <script>
export default {
created() {
this.getWeek("Sun Aug 31 2019 18:05:38 GMT+0800 (中国标准时间)")
}, methods: {
getWeek(dateStr) {
// Date.parse() 方法解析一个表示某个日期的字符串,并返回从1970-1-1 00:00:00 UTC 到该日期对象(该日期对象的UTC时间)的毫秒数,
dateStr = Date.parse(dateStr);
// 转成 date 对象
let tarDate = new Date(dateStr);
let tarDay = tarDate.getDay() == 0 ? 7 : tarDate.getDay(); // 目标日期是周几 (1-7)
console.log(tarDate.getDate())
// 第几周
let tarWeek = Math.ceil((tarDate.getDate()/7));
console.log("tarWeek", tarWeek)
// getMonth() 返回 (0-11)
let tarMonth = tarDate.getMonth() + 1;
// 不能 let tarDate7 = tarDate tarDate7改变后这个也会变
let tarDate7 = new Date(dateStr);
tarDate7.setDate(7);
let tarDate7Day = tarDate7.getDay(); // 当月 7 号是周几 (0-6)
if (tarDate7Day == 0) {
tarWeek;
} else {
if (tarDate.getDate() > 7) {
console.log("> 7");
tarWeek -= 1;
} else {
console.log("<= 7");
if (tarDate7Day < tarDay) {
tarMonth = tarDate.getMonth();
tarWeek = 5;
} else {
tarWeek -= 1;
}
}
}
console.log(`${tarMonth}-${tarWeek}`);
}
}
}
</script>

Date() 按条件打印当前日期的月份和周的更多相关文章

  1. java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一周、一个月

    import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.uti ...

  2. LODOP打印当前日期时间的方法

    JS方法直接获取.之前有个详细介绍的博文:LODOP打印用JS获取的当前日期本文也再演示一下,详细介绍见上面链接的博文,该方法此文不做详细介绍. 本文有三段:1.JS获取日期,2,.LODOP的FOR ...

  3. date +%s 能打印出自1970-01-01 00:00:00到当前时间的秒数

    [root@bass Desktop]# date +%s 1466561580 [root@bass Desktop]# python Python 2.6.6 (r266:84292, Jul 2 ...

  4. 用switch语句判断月份,打印出当前月份所在的季节

    var today=new Date(); var abc=today.getMonth(); switch (abc) { case 0: case 1: case 2: document.writ ...

  5. JAVA获取当前日期指定月份后(多少个月后)的日期

    环境要求:使用jdk1.8 package com.date; import java.text.ParseException; import java.text.SimpleDateFormat; ...

  6. SQL Server 把当前日期中月份和几号中的0 去掉

    select left(convert(varchar(10),getdate(),20),4)+replace(right(convert(varchar(10),getdate(),20),6), ...

  7. Reportviewer中的函数使用——打印当前日期并格式化

    如2017-10-23 12:20:20 通过DateTime.Now.ToString("yyMMddHHmmss")变为 20171023122020字符串

  8. Oracle DB 12.2(12cR2)的一个新特性:硬解析失败的SQL语句(需要符合一定条件)打印到alert_sid.log中.

    How to Identify Hard Parse Failures (Doc ID 1353015.1)Bug 16945190 - Diagnostic enhancement to dump ...

  9. Java -- 根据当前日期获取当前一周的所有日期

    Learn From:http://my.oschina.net/hermer/blog/151274 /** * 测试 * @param args */ public static void mai ...

随机推荐

  1. quick-cocos2d-x项目《狂点小怪兽》总结

    最近找了个公司实习,领导让我把公司的<狂点小怪兽>C++游戏用Lua重写.大概用了一个星期完成. 第一次使用quick-cocos2d-x,磕磕碰碰的也算是走了一遍流程. 1. quick ...

  2. export 和 export default 的区别

    export命令用于规定模块的对外接口. 一个模块就是一个独立的文件.该文件内部的所有变量,外部无法获取.如果你希望外部能够读取模块内部的某个变量,就必须使用export关键字输出该变量.下面是一个 ...

  3. CTF--HTTP服务--SQL注入-X-Forwarded-For报文头

    开门见山 1. 扫描靶场ip,发现PCS 192.168.31.196 2. 扫描靶场开放服务信息 3. 扫描靶场全部信息 4. 探测敏感信息 5. 查看靶场80端口的主界面 6. 使用AVWS工具进 ...

  4. geojson转esriJson

    因为一些特殊需求,需要将geojson转为shp数据,网上有一些转换网站,但是存在一些问题,例如中文乱码.文件大小限制等等,折腾了一下,还是觉得用arcgis转比较好,因此先将geojson转为esr ...

  5. Spring boot 学习中代码遇到的几个问题

    1.报一大段红错 此时对象还是能创建成功的,解决方案参考链接https://blog.csdn.net/wanglin199709/article/details/99121487 2.无法创建对象 ...

  6. Web 开发工具类(3): JsonUtils

    JsonUtils 整合了一些对Json的相关操作: package com.evan.common.utils; import java.util.List; import com.fasterxm ...

  7. High一下!

    代码: <a title="把这个链接拖到你的Chrome收藏夹工具栏中" href='javascript:(function() { function c() { var ...

  8. linux入门系列11--Centos7网络服务管理

    通过前面文章的学习已经掌握了Linux系统配置管理的知识,本文讲解Centos7网络配置知识. Linux要对外提供服务,需要保证网络通信正常,因此需要正确配置网络参数.本文将讲解如何使用Networ ...

  9. 将STM32F407片外SRAM作运行内存

    本例演示用的软硬件: 片内外设驱动库:STM32CubeF41.24.1的HAL库1.7.6,2019年4月12日 IDE:MDK-ARM 5.28.0.0,2019年5月 开发板:片外SRAM挂在F ...

  10. redis命令总结与持久化

    上篇redis文章为大家介绍了redis与它的部署工作.这次我们来说一下redis的操作命令与持久化 一.命令总结 1)String操作 6379> set k1 v1 #设定值 6379> ...