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

分析:
  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. 保存数据到txt

    join用的不错 a = "Hello, world" b = "你好,世界" c = "How are you?" with open(f ...

  2. maven-assembly-plugin入门

    愿文地址:https://www.jianshu.com/p/e8585a991e8e 当你使用 Maven 对项目打包时,你需要了解以下 3 个打包 plugin,它们分别是 plugin func ...

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

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

  4. 【转】在VS2010上使用C#调用非托管C++生成的DLL文件(图文讲解)

    原文:http://www.cyqdata.com/cnblogs/article-detail-35876# 背景 在项目过程中,有时候你需要调用非C#编写的DLL文件,尤其在使用一些第三方通讯组件 ...

  5. HTML-02-常用标签演示

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. Linux文件内容重定向

    文件描述符 可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作. 用户可以自定义文件描述符范围是:3-num,这个最大数字, ...

  7. kettle安装部署基本操作及实操文档

    一.kettle是什么? Kettle,简称ETL(Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程),是一款国外开源的ETL工具,纯Java编写,可以在Window. ...

  8. Plant Simulation打包与分享

    作者:iJonas 本人原创,转载说明出处. 公众号:仿真社区Plant Simulation 关注知乎专栏:iJonas 目录 简介 使用方法 注意 1.简介 很多情况下,我们需要把模型发送给客户. ...

  9. ffmpeg常用数据结构

    from :http://my.oschina.net/u/555701/blog/56748 AVCodecContext 这是一个描述编解码器上下文的数据结构,包含了众多编解码器需要的参数信息,如 ...

  10. Windows系统-cmd中的tracert命令

    大部分同学都是用的Linux系统来测试网络命令相关工具,我用Windows10系统来测试tracert.        tracert:也被称为Windows路由跟踪实用程序,在命令提示符(cmd)中 ...