js 时间格式化

/**
* 获取本周、本季度、本月、上月的开始日期、结束日期
*/
var now = new Date(); //当前日期  
var nowDayOfWeek = now.getDay(); //今天本周的第几天  
var nowDay = now.getDate(); //当前日  
var nowMonth = now.getMonth(); //当前月  
var nowYear = now.getYear(); //当前年  
nowYear += (nowYear < 2000) ? 1900 : 0; // 

var lastMonthDate = new Date(); //上月日期
lastMonthDate.setDate(1);
lastMonthDate.setMonth(lastMonthDate.getMonth()-1);
var lastYear = lastMonthDate.getYear();
var lastMonth = lastMonthDate.getMonth();

//格式化日期:yyyy-MM-dd  
function formatDate(date) {  
var myyear = date.getFullYear();  
var mymonth = date.getMonth()+1;  
var myweekday = date.getDate();  

if(mymonth < 10){  
mymonth = "0" + mymonth;  
}  
if(myweekday < 10){  
myweekday = "0" + myweekday;  
}  
return (myyear+"-"+mymonth + "-" + myweekday);  
}  

//获得某月的天数  
function getMonthDays(myMonth){  
var monthStartDate = new Date(nowYear, myMonth, 1);  
var monthEndDate = new Date(nowYear, myMonth + 1, 1);  
var days = (monthEndDate - monthStartDate)/(1000 * 60 * 60 * 24);  
return days;  
}  

//获得本季度的开始月份  
function getQuarterStartMonth(){  
var quarterStartMonth = 0;  
if(nowMonth<3){  
quarterStartMonth = 0;  
}  
if(2<nowMonth && nowMonth<6){  
quarterStartMonth = 3;  
}  
if(5<nowMonth && nowMonth<9){  
quarterStartMonth = 6;  
}  
if(nowMonth>8){  
quarterStartMonth = 9;  
}  
return quarterStartMonth;  
}  

//获得本周的开始日期  
function getWeekStartDate() {  
var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);  
return formatDate(weekStartDate);  
}  

//获得本周的结束日期  
function getWeekEndDate() {  
var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek));  
return formatDate(weekEndDate);  
}  

//获得本月的开始日期  
function getMonthStartDate(){  
var monthStartDate = new Date(nowYear, nowMonth, 1);  
return formatDate(monthStartDate);  
}  

//获得本月的结束日期  
function getMonthEndDate(){  
var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));  
return formatDate(monthEndDate);  

//获得上月开始时间
function getLastMonthStartDate(){
var lastMonthStartDate = new Date(nowYear, lastMonth, 1);
return formatDate(lastMonthStartDate);  
}

//获得上月结束时间
function getLastMonthEndDate(){
var lastMonthEndDate = new Date(nowYear, lastMonth, getMonthDays(lastMonth));
return formatDate(lastMonthEndDate);  
}

//获得本季度的开始日期  
function getQuarterStartDate(){  

var quarterStartDate = new Date(nowYear, getQuarterStartMonth(), 1);  
return formatDate(quarterStartDate);  
}  

//或的本季度的结束日期  
function getQuarterEndDate(){  
var quarterEndMonth = getQuarterStartMonth() + 2;  
var quarterStartDate = new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth));  
return formatDate(quarterStartDate);  
}

转载于:https://www.cnblogs.com/zbuser/p/7921406.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/487198.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

英特尔的六大新技术

来源&#xff1a;芯东西&#xff08;公众号&#xff1a;aichip001&#xff09; 芯东西8月14日消息&#xff0c;昨日晚间&#xff0c;英特尔在2020年架构日上推出10nm SuperFin晶体管技术&#xff0c;将实现其有史以来最强大的单节点内性能增强。据悉&#xff0c;10nm SuperFin技…

c++查找pair,使用map,unordered_map,vector

map和unordered_map都可以简单的实现&#xff0c;因为本身就是键值对&#xff0c;而且都提供find方法&#xff0c;相对来说unordered_map比map略快。 vector使用find_if函数&#xff0c;并且最简单的用法就是c 特性中的lambda&#xff0c;例如&#xff1a; static vector<…

判断jQuery选择器结果为空 - CSDN博客

判断jQuery选择器结果为空 - CSDN博客 原文:判断jQuery选择器结果为空 - CSDN博客jQuery选择器获取到的是一个对象&#xff0c;所以无论页面上存在或者不存在元素&#xff0c;这个对象都不为空。因此&#xff0c;如果要使用jQuery检查元素再给某个页面上是否存在的时候&#xf…

中国芯片设计云技术白皮书2.0发布

来源&#xff1a;摩尔精英作为行业内专业的IT/CAD技术服务团队&#xff0c;摩尔精英IT/CAD事业部曾于2019年11月21日的南京ICCAD大会上发表的《芯片设计云计算白皮书1.0》中&#xff0c;初步探索了基于公有云的EDA计算平台的实现方案。随着进一步的探索和方案优化&#xff0c;我…

c++中unordered_map的坑

unordered_map本身有hash表&#xff0c;不排序的情况下&#xff0c;对需要键值对的数据处理是比较方便的&#xff0c;存储、查找都很快了&#xff0c;但是如果不注意键值类型的话&#xff0c;有可能会掉坑的。 比如&#xff1a; unordered_map<string, vector<BigTestS…

课后作业-阅读任务-阅读笔记4

1.程序的质量体现在软件外在功能的质量 2.软件开发过程有三个主要的特性&#xff1a;好&#xff0c;快&#xff0c;便宜 3.CMMI有两种不同的实施方法&#xff0c;其级表示不同的内容&#xff1a; &#xff08;1&#xff09;连续式&#xff1a;主要是衡量一个企业在某一项目中的…

c#使用Path.Combine的一个坑

本想先解一个目录&#xff0c;再重组一个新目录存结果文件&#xff0c;想到用Path.Combine可以方便快捷&#xff0c;结果就遇见了坑&#xff0c; windows目录下有驱动器符号如“d:”&#xff0c;这时候使用Path.Combine并不会组成想要的路径&#xff1a; 理想状态下Path.Comb…

希尔伯特著名的第六问题 – 原来麦克斯韦早就有解?

转自&#xff1a;知社学术圈作者&#xff1a;Natalie Wolchover 编译&#xff1a;子聿希尔伯特的第六大问题号召人们公理化物理学定律&#xff0c;也就是说从一套初始假设或者公理的基础出发严格构建它们。这样做将会揭示需要不同公设的定律之间的矛盾。从相同的公理出发推导…

c++ tinyxml2 解析xml小坑

如题&#xff0c;项目中遇到的解析xml小坑&#xff1a; xml是python在windows下生成的&#xff0c;虽然是utf8的&#xff0c;但是回车是16进制显示的0D 0A&#xff0c;与linux下的回车不同&#xff08;0A&#xff09;&#xff0c;导致使用Parse函数时解析失败&#xff0c;查找…

96. Unique Binary Search Trees1和2

/*这道题的关键是&#xff1a;动态表尽量的选取&#xff0c;知道二叉搜索树中左子树的点都比根节点小&#xff0c;右子树的点都比根节点大所以当i为根节点&#xff0c;左子树有i-1个点&#xff0c;右子树有n-i个点&#xff0c;左右子树就可以开始递归构建&#xff0c;过程和一开…

python调用c++的库传递二级指针

遇见的问题&#xff1a;需要从python向c函数中传入二级指针的参数 char**P的问题&#xff1a; c_char_datas (ctypes.c_char_p * file_num)() for j in range(file_num):c_char (ctypes.c_char*6)()c_char.value file_list[j].name.encode(utf-8)c_char_datas[j] ctypes.…

编译tensorflow的小小记录

编译tensorflow有专门的编译工具bazel&#xff0c;所以需要先安装bazel。我使用的是源码编译bazel&#xff08;https://github.com/bazelbuild/bazel/releases&#xff09;。 第一个坑&#xff1a;git clone bazel源码或者使用下载的bazel-0.21.0.tar.gz&#xff0c;这种源码里…

layui富文本编译器添加图片

1、创建富文本编辑器 <form class"layui-form" method"post" id"myForm" enctype"multipart/form-data"><div class"layui-form-item layui-form-text"><label class"layui-form-label">内容&…

为什么数学是理解世界的最佳方式

来源&#xff1a;遇见数学在对着乔治梅森大学最近的一届新生致辞时&#xff0c;丽贝卡戈尔丁&#xff08;Rebecca Goldin&#xff09;传递了一个令人沮丧的数据&#xff1a;最近的一项研究显示&#xff0c;36%的大学生在大学四年时间里批判性思维并未显著提高。戈尔丁解释说&am…

windows查看dll库接口函数

一种是使用工具depends&#xff0c;另一种是使用vs的cmd命令窗口&#xff0c;dumpbin /EXPORTS xxx.dll就可以查看xxx.dll的函数接口了

bootstrap-table 行合并和列合并,以及固定列宽度等问题

列合并和列宽度固定&#xff1a; 1 .setWidth {2 table-layout: fixed;3 }4 5 .setWidth > thead > tr > th {6 width: 80px;7 }8 <table class"setWidth" id"EstateTable" data-mobile-responsive&…

c++错误functional:1526:9: error: no type named ‘type’ in ‘class std::result_of

关于这个错误&#xff0c;我自己的情况是thread函数形参有&引用传值&#xff0c;例如: void thread_test(vector<int> &test_vec)&#xff0c;编译就会报错&#xff0c;去掉&就可以了&#xff0c;查到的其他方式并没有能解决这个问题&#xff0c;不知道是因…

5G 标准的走向,为何越来越不同寻常?

作者 | Michael Koziol译者 | 弯月&#xff0c;责编 | 屠敏出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;以下为译文&#xff1a;如果没有互联网工程任务组&#xff08;Internet Engineering Task Force&#xff09;制定种种互联网标准&#xff0c;那么此时此刻你…

WebSocket教程(一)

一、websocket与http WebSocket是HTML5出的东西&#xff08;协议&#xff09;&#xff0c;也就是说HTTP协议没有变化&#xff0c;或者说没关系&#xff0c;但HTTP是不支持持久连接的&#xff08;长连接&#xff0c;循环连接的不算&#xff09; 首先HTTP有 1.1 和 1.0 之说&…

iis设置导致python调用urllib.request.urlopen出错问题

iis确实用的很少&#xff0c;从来没有注意过&#xff0c;今天就遇见了问题。 python中使用urllib.request.urlopen调用测试服务器接口&#xff0c;之前从没有出现问题&#xff0c;今天用了一条70M的数据进行测试&#xff0c;突然报错404&#xff0c;这是什么鬼&#xff0c;各种…