JS 获取当天所在月的第一天的日期,最后一天日期,所在周的每天的日期,时间,所在每月日期,时间的计算
/**
* 获取当天所在月的最后一天日期,和下一个月的第一天日期
* 调用getMonthDay(d), d默认值为01,d为要设置成的day;
*/
const getMonthMaxDay = () => {
var curDate = new Date();
var curMonth = curDate.getMonth();
/* 生成实际的月份: 由于curMonth会比实际月份小1, 故需加1 */
curDate.setMonth(curMonth + 1);
/* 将日期设置为0, 返回当月最后一天日期, 将日期设置为1,返回下一个月第一天日期*/
curDate.setDate(0);
/* 返回当月的天数 */
return curDate.getDate();
} // 获取当前月中第某一天的日期
export const getMonthDay = (d='01') => {
const t = new Date();
return `${t.getFullYear()}-${setT(t.getMonth() + 1)}-${d}`;
}
const setT = (e) => {
return `${e}`.length > 1 ? `${e}` : `0${e}`;
}
getMonthDay() // return 2017-05-01
getMonthDay(getMonthMaxDay); //return 2017-05-31 /**
* 获取当天所在周的周一和周日的日期
* 返回 YYYY-MM-DD 格式时间
*/
const setToday = function (t=(new Date())) {
return `${t.getFullYear()}-${setT(t.getMonth() + 1)}-${setT(t.getDate())}`;
}
export const getWeekDay = () => {
const date1 = new Date(),
date2 = new Date();
return {
weekStart: setToday(new Date(date1.setDate(date1.getDate() - date1.getDay() + 1))), // Monday
weekEnd: setToday( new Date(date2.setDate(date2.getDate() + (7 - date2.getDay())))), // Sunday
};
}
getWeekDay() //return {weekStart: 2017-05-22, weekEnd: 2017-05-28} /**
* 对时间进行加减运算
* calcTime(t, d) t参数为要进行计算的日期,d为时间差
* 返回 YYYY-MM-DD HH:mm:ss 格式时间
*/
const setFullTime = function(t=(new Date())) {
return `${t.getFullYear()}-${setT(t.getMonth() + 1)}-${setT(t.getDate())} ${setT(t.getHours())}:${setT(t.getMinutes())}:${setT(t.getSeconds())}`;
}
export const calcTime = (t, d) => {
var date1 = new Date((t).replace(/-/g, '/')),
date2 = (date1/1000 + d)*1000,
date3 = new Date(date2);
return setFullTime(date3);
};
const d1 = '2017-05-26 18:08:45';
cosnt d = -30;
calcTime(d1, d) // return 2017-05-26 18:08:15
const setT = (e) => {
return `${e}`.length > 1 ? `${e}` : `0${e}`;
}
const setToday = function(t=(new Date())) {
return `${t.getFullYear()}-${setT(t.getMonth() + 1)}-${setT(t.getDate())}`;
}
const date1 = new Date()
this.firstDayCurrent = setToday(new Date(date1.setDate(date1.getDate() - (date1.getDate() -1))))
console.log('第一天是' + this.firstDayCurrent);
//判断是否是当前月,如果不是循环所选月份
12
var changeDate = new Date(this.firstDayCurrent)
var changeYear = changeDate.getFullYear();
var changeMonth = changeDate.getMonth() + 1;
var changeNow = new Date(changeYear,changeMonth,0);
this.changeCount = changeNow.getDate(); //获取当月天数
console.log(this.changeCount)
for(var i=0;i< this.changeCount; i ++){
//获取当月的每一天
const getChangeWeekDay = () => {
// date2 = new Date();
// console.log(date1.getDay()) //获取星期几
return setToday(new Date(changeDate.setDate(changeDate.getDate() - (changeDate.getDate() -1) + i ))) // 循环获取每一天
//
}
getChangeWeekDay()
}
JS 获取当天所在月的第一天的日期,最后一天日期,所在周的每天的日期,时间,所在每月日期,时间的计算的更多相关文章
- js 如何获取某一个月的第一天是周几
js 如何获取某一个月的第一天是周几 calendar ??? padding dates // day = 1 const firstMonthDate = new Date(year + mont ...
- 【MySQL基础】Mysql获得当前日期的所在月的第一天
Mysql获得当前日期的所在月的第一天 尊重劳动成果,请访问CSDN著者原文链接 http://blog.csdn.net/zixiao217/article/details/51908506 Ste ...
- js获取上一个月、下一个月格式为yyyy-mm-dd的日期
/** * 获取上一个月 * * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */ function getPreMonth(date) { var arr = date. ...
- js 获取当天23点59分59秒 时间戳 (最简单的方法)
js 获取当天23点59分59秒 时间戳 (最简单的方法) new Date(new Date(new Date().toLocaleDateString()).getTime()+24*60*60* ...
- Java获取某年某月的第一天
Java获取某年某月的第一天 1.设计源码 FisrtDayOfMonth.java: /** * @Title:FisrtDayOfMonth.java * @Package:com.you.fre ...
- Java获取某年某月的第一天和最后一天
/** * 获取某年某月的第一天 * @Title:getFisrtDayOfMonth * @Description: * @param:@param year * @param:@param mo ...
- js获取当天时间,7天前后时间,时间格式化
格式化时间年月日时分秒 //时间戳转换方法 date:时间戳数字 formatDate(date) { var date = new Date(date); var YY = date.getFull ...
- js获取上一个月、下一个月
/** * 获取上一个月 * * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */ function getPreMonth(date) { var arr = date. ...
- 原生Js获取某个节点后面的第一个标签
nextSlbling属性 获取某个节点后面的第一个节点(可能是标签 文本) 判断获取的节点是否为标签节点还是文本节点 window.onload=function(){ var pagecount= ...
随机推荐
- 【剑指Offer】61、把二叉树打印成多行
题目描述 从上到下按层打印二叉树,同一层结点从左至右输出.每一层输出一行. 题解一:BFS public static ArrayList<ArrayList<Integer>> ...
- Windows 使用 TCPing 工具来获取 TCP延迟、端口通顺情况、已禁Ping服务
https://elifulkerson.com/projects/tcping.php
- python下timer定时器常用的两种实现方法
方法一,使用线程中现成的: 这种一般比较常用,特别是在线程中的使用方法,下面是一个例子能够很清楚的说明它的具体使用方法: #! /usr/bin/python3 #! -*- conding: u ...
- react-native构建基本页面5---调用拍照摄像头
调用摄像头拍照 react-native-image-picker的github官网 yarn add react-native-image-picker 运行react-native link自动注 ...
- Java_Day4(上)
Java learning_Day3(上) 本人学习视频用的是马士兵的,也在这里献上 <链接:https://pan.baidu.com/s/1qKNGJNh0GgvlJnitTJGqgA> ...
- CSS的display显示
CSS的display显示 1. 行内元素和块级元素关系 块级元素:1.标题标签:h1~h6:2.段落标签:p1~p6:3.div:4.列表:等 行内元素:1.span:2.a:3.img:4.str ...
- Dijkstra算法依据项目改进版,输出路径
package dijkstra; import java.util.ArrayList; public class Dijkstra { ; /*private static int[][] Gra ...
- 多个iframe,删除详情页时刷新同级iframe的table list
说明:在使用iframe开发时,经常遇到多个iframe之间的操作. 下面就是一个需求:在一个iframe中关闭时,刷新指定的iframe: 添加需要刷新的标识reload=true //添加npi2 ...
- VM中Linux网络设置(固定ip、连接外网开发环境)
在开发过程中,我们经常需要在linux中进行操作.毕竟服务器的系统大多数都是Linux,所以在dev环境需要配置好一台Linux系统配合开发. 在VMWare Workstation Pro中 ...
- BindingException: Invalid bound statement (not found)问题