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

分析:
  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. elasticsearch为什么比mysql快

    mysql关系型数据库索引原理 数据库的索引是B+tree结构 主键是聚合索引 其他索引是非聚合索引,先从非聚合索引找,见下图 elasticsearch倒排索引原理 两者对比 对于倒排索引,要分两种 ...

  2. 机器学习-MNIST数据集使用二分类

    一.二分类训练MNIST数据集练习 %matplotlib inlineimport matplotlibimport numpy as npimport matplotlib.pyplot as p ...

  3. Ubuntu16手动安装OpenStack

    记录大佬的博客全文转载于https://www.voidking.com/dev-ubuntu16-manual-openstack-env/ 前言 <Ubuntu16安装OpenStack&g ...

  4. HGE引擎改进——2014/3/4

    2014/3/4 更新 1.提升资源包管理效率 2.Show库整合.目前Show库有Picture.Frame.Animation和Particle类,以及PictureData和ParticleSy ...

  5. pc端的弹性布局适配方案

    方案及原理:使用rem单位,通过window.onresize来监听浏览器窗口,获取窗口宽度,并改变跟字体大小来达到弹性适配效果. function adaptor(){ //为了便于计算,这里以19 ...

  6. Xmind8 Pro 破解教程(序列号|破解文件)

    最近需要打开文件后缀名为.xmind的文件,所以下载了Xmind8 .打开以后想要导出,奈何普通版本只能导出.txt文本文档,所以只好动手pj.话不多说看下边.一.下载XMindCrack.jar文件 ...

  7. Git详解之服务部署

    前言 到目前为止,你应该已经学会了使用 Git 来完成日常工作.然而,如果想与他人合作,还需要一个远程的 Git 仓库.尽管技术上可以从个人的仓库里推送和拉取修改内容,但我们不鼓励这样做,因为一不留心 ...

  8. 解决dotnet错误 System.InvalidOperationException Message=Unable to configure HTTPS endpoint. No server certificate was specified, and the default developer certificate could not be found.

    开始=>设置=>manage user certificats  (管理用户证书),里面所有的.net core的全部删除 然后控制台执行: dotnet dev-certs https ...

  9. python学习记录(七)

    0904--https://www.cnblogs.com/fnng/archive/2013/04/24/3039335.html 0904--https://www.cnblogs.com/fnn ...

  10. 斐波那契数列(php实现)

    描述 斐波那契数列指的是这样一个数列:1.1.2.3.5.8.13.21.34... 规则 : 有N个数,第i个数的值 N(i)= N(i-1) + N(i-2) 需求: 给出下标i ,求第i 的个数 ...