js获取选中日期的当周的周一和周日

第一种方法(推荐):

   function getWeekStr(str) {
// 将字符串转为标准时间格式
str2 = Date.parse(str);
let date = new Date(str2);
let month = date.getMonth() + 1;
let week = getWeekFromDate(date);
if (week === 0) {//第0周归于上月的最后一周
month = date.getMonth();
let dateLast = new Date();
let dayLast = new Date(dateLast.getFullYear(), dateLast.getMonth(), 0).getDate();
let timestamp = new Date(new Date().getFullYear(), new Date().getMonth() - 1, dayLast);
week = getWeekFromDate(new Date(timestamp));
}
let time = month + "月第" + week + "周";
return time;
} function getWeekFromDate(date) {
// 将字符串转为标准时间格式
let w = date.getDay();//周几
if (w === 0) {
w = 7;
}
let week = Math.ceil((date.getDate() + 6 - w) / 7) - 1;
return week;
} console.log("2018-02-3---" + getWeekStr("2018-02-3"));
console.log("2018-02-4---" + getWeekStr("2018-02-4"));
console.log("2018-02-5---" + getWeekStr("2018-02-5"));
console.log("2018-02-12---" + getWeekStr("2018-02-12"));
console.log("2018-02-19---" + getWeekStr("2018-02-19"));
console.log("2018-02-28---" + getWeekStr("2018-02-28"));
console.log("2018-03-1---" + getWeekStr("2018-03-1"));
console.log("2018-03-5---" + getWeekStr("2018-11-1"));
console.log("2018-08-27---" + getWeekStr("2018-12-01"));

第二种方法(比较复杂):  

 console.log(getNowDateAndNowWeek(1539187200000));

     /**
* 获取当月的第几周
* a = d = 当前日期
* b = 6 - w = 当前周的还有几天过完(不算今天)
* a + b 的和在除以7 就是当天是当前月份的第几周
*/
function getMonthWeek(a, b, c) { var date = new Date(a, parseInt(b) - 1, c), w = date.getDay(), d = date.getDate();
return Math.ceil(
(d + 6 - w) / 7
);
}; /**
* 获取选择当前的第几周,当前的周一、周日
* time 选择日期的时间戳
*/
function getNowDateAndNowWeek(time) {
//选中的时间戳
var timestamp = time;
var serverDate = new Date(time); //本周周日的的时间
var sundayTiem = timestamp + ((7 - serverDate.getDay()) * 24 * 60 * 60 * 1000)
var SundayData = new Date(sundayTiem);
//年
var tomorrowY = SundayData.getFullYear();
//月
var tomorrowM = (SundayData.getMonth() + 1 < 10 ? '0' + (SundayData.getMonth() + 1) : SundayData.getMonth() + 1);
//日
var tomorrowD = SundayData.getDate() < 10 ? '0' + SundayData.getDate() : SundayData.getDate();
console.log('周日: ' + tomorrowY + '-' + tomorrowM + '-' + tomorrowD); // 本周周一的时间
var mondayTime = timestamp - ((serverDate.getDay() - 1) * 24 * 60 * 60 * 1000)
var mondayData = new Date(mondayTime);
//年
var mondayY = mondayData.getFullYear();
//月
var mondayM = (mondayData.getMonth() + 1 < 10 ? '0' + (mondayData.getMonth() + 1) : mondayData.getMonth() + 1);
//日
var mondayD = mondayData.getDate() < 10 ? '0' + mondayData.getDate() : mondayData.getDate();
var nowWeek = getMonthWeek(tomorrowY, tomorrowM, tomorrowD);
//输出值
var config = {
SunDay: tomorrowY + '/' + tomorrowM + '/' + tomorrowD,
Monday: mondayY + '/' + mondayM + '/' + mondayD,
nowWeek: nowWeek
}
return config;
}

  

js获取选中日期的当周的周一和周日的更多相关文章

  1. 腾讯云图片鉴黄集成到C# SQL Server 怎么在分页获取数据的同时获取到总记录数 sqlserver 操作数据表语句模板 .NET MVC后台发送post请求 百度api查询多个地址的经纬度的问题 try{}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会 不会被执行,什么时候被执行,在 return 前还是后? js获取某个日期

    腾讯云图片鉴黄集成到C#   官方文档:https://cloud.tencent.com/document/product/641/12422 请求官方API及签名的生成代码如下: public c ...

  2. JAVA获取当前日期时间所在周的周一和周日日期

    /** * 获取当前时间所在周的周一和周日的日期时间 * @return */ public static Map<String,String> getWeekDate() { Map&l ...

  3. js获取某个日期所在周周一的日期

    第一次写,做个小笔记. 第一步:获取该日期的星期数: 第二步:在该日期上减去他的星期数再减1,(注:星期日获取到的星期数是0): 下面是具体代码: function GetMonday(dd) { v ...

  4. js获取昨天日期

    刚刚js做项目,遇到需要获取昨天日期的问题,网上找了下答案,感觉网上的答案都不太严谨,自己写了个,凑合能用吧,忘大神们抛砖指教. <script type="text/javascri ...

  5. js获取本周日期

    JS获取到本周的日期 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &l ...

  6. js处理日期的一些整理(js获取给定日期前一天的日期)

    var date = new Date(); alert(date);//获取当前时间 alert(date.getFullYear());//获取当前年分 alert(date.getMonth() ...

  7. 不让复制是不可能的----js获取选中文字

    在360百科.知乎上经常会遇见禁止复制文本的情形,这能挡住一部分人复制,却挡不住程序员的复制. HTML都给我了,难道一小段文本我都拿不下来吗? F12打开控制台,然后选中文本,在控制台下粘贴以下代码 ...

  8. js获取上个月日期

    javascript根据当前日期获取上个月日期 function lastMonthDate(){ var Nowdate = new Date(); var vYear = Nowdate.getF ...

  9. js 获取指定日期

    查询几天后的js代码,如果查询当天的日期 if($("input[name='startTime']").val()==""){ $("input[n ...

随机推荐

  1. python通过手机抓取微信公众号

    使用 Fiddler 抓包分析公众号 打开微信随便选择一个公众号,查看公众号的所有历史文章列表 在 Fiddler 上已经能看到有请求进来了,说明公众号的文章走的都是HTTPS协议,这些请求就是微信客 ...

  2. Api 文档管理系统 RAP2 环境搭建

    Api 文档管理系统 RAP2 环境搭建  发表于 2018-03-27 |  分类于 Api |  评论数: 4|  阅读次数: 4704  本文字数: 4.8k |  阅读时长 ≍ 9 分钟 RA ...

  3. [学习笔记]利用e-debug和GetWindowTextA破解CM课件

    本课是针对注册时候的报错弹窗不是信息框MessageBox,而是窗体的情况 首先打开课件看一下 既然课件是个易语言程序,那使用E-DEBUG试试 E-DEBUG打开课件,点击“start”,课件弹出登 ...

  4. VueJs(7)---计算属性和侦听器

    计算属性和侦听器 一. 概述 计算属性 模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑会让模板过重且难以维护.例如: <div id="exampl ...

  5. sql server 索引阐述系列二 索引存储结构

    一.概述. "流光容易把人抛,红了樱桃,绿了芭蕉“ 转眼又年中了,感叹生命的有限,知识的无限.在后续讨论索引之前,先来了解下索引和表数据的内部结构,这一节将介绍页的存储,页分配单元类型,区的 ...

  6. 搞懂ES6的import export

    引言 说来惭愧,这两个关键字几乎天天在写,但是自己写的模块export出去的对象,import居然拿不到,也是没谁了

  7. (转)python生态环境简介

    Python生态环境简介 作者: Mir Nazim 原文: Python Ecosystem - An Introduction 译者: dccrazyboy  原译: Python生态环境简介 当 ...

  8. 浅谈Web服务器和应用服务器的区别

    1Web服务器和应用服务器简介 通俗的讲,Web服务器传送页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods).确切一点,你可以说:Web服务器专 ...

  9. MySQL抓包工具:MySQL Sniffer【转】

    本文来自:https://github.com/Qihoo360/mysql-sniffer 简介 MySQL Sniffer 是一个基于 MySQL 协议的抓包工具,实时抓取 MySQLServer ...

  10. FormCollection collection 使用

    参考文档:https://www.cnblogs.com/dare/p/9173479.html