js 日报 周报 月报 时间扩展 js
当初做统计业务需要处理时间 周报:本周 上周 下周 近一周 月报上月 本月 等 需要使用时间处理 所以扩展了这些方法 <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body> </body>
</html>
<script type="text/javascript">
var _DateTostring = Date.prototype.toString;
Date.prototype.add = function (type, value) {
if (!type || value==undefined||value==null || isNaN(value)) {
throw "增加的类型不存在或者值不是一个数字"
}
switch (type) {
case "d":
case "D":
this.setDate(this.getDate() + value);
break
case "M":
case "m":
this.setMonth(this.getMonth() + value);
break;
case "Y":
case "y":
this.setFullYear(this.getFullYear() + value);
break;
case "day":
case "DAY":
//本周的第几天
var day =this.getDay()==0?7:this.getDay(); var i = Math.abs(value);
if (value == 0) { this.addDate(-(day-1));//本周
return;
}
value < 0 ? this.addDate(-(day + 7 * i - 1)) : i > 1 ? this.addDate(7 - day + ((i - 1) * 7)+1) : this.addDate(7 - day+1); break;
}
var date = this;
return date;
}
Date.prototype.addDate = function (value) {
this.add("d", value);
}
Date.prototype.addMonth = function (value) {
this.add("m", value);
}
Date.prototype.addDay = function (value) {
this.add("day", value);
}
Date.prototype.addYear = function (value) {
this.add("y", value);
}
Date.prototype.toString = function (fmt) {
if (fmt == undefined) {
return _DateTostring.call(this);
}
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
var date = new Date();
//date.addDate(1);//当前时间基础加上12天
//date.addDate(-1);//当前时间基础减去12天
//date.addMonth(-1);//当前时间基础减去1月
//date.addMonth(1);//当前时间基础加上一月
//date.addYear(1);//当前时间基础加上一年
//date.addYear(-1);//当前时间基础减去一年
//date.addDay(-1);//上周
//date.addDay(-2);//前2周
//date.addDay(0);//本周
//console.log(date.toString("yyyy-MM-dd"));//格式化日期
// console.log(date.toString());
// date.addDay(-1);//下周 </script>
js 日报 周报 月报 时间扩展 js的更多相关文章
- 从js的repeat方法谈js字符串与数组的扩展方法
js将字符串重复N次的repeat方法的8个版本 /* *@desc: 将一个字符串重复自身N次 */ //版本1:利用空数组的join方法 function repeat(target, n) { ...
- JS组件系列——自己动手扩展BootstrapTable的 冻结列 功能:彻底解决高度问题
前言:一年前,博主分享过一篇关于bootstrapTable组件冻结列的解决方案 JS组件系列——Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案 ,通过该篇,确实可以实现bo ...
- 『开源』扩展 JS 的 Date 处理函数
背景: JS 有自己的 时间类型 Date —— 但是,在某些情况下 这个对象似乎 不太好用. 本文 基于 JQuery 扩展了一些 JS日期函数,包括: > 字符串 转 Date 对象 万 ...
- js 获取当前的时间
第一个小程序,用js获取当前的时间,,比较特殊的是 月是从0开始算的,显示的时候要加1,获取日用getDate(),获取周 getDay(), 直接上代码 <!DOCTYPE html> ...
- [No00007A]没有文件扩展".js"的脚本引擎 解决办法
在命令行运行JScript脚本时,遇到如下的错误提示: “输入错误: 没有文件扩展“.js”的脚本引擎.” 这样的错误,原因是因为JS扩展名的文件被其他软件关联了,需要取消关联. 如系统中安装了ULT ...
- 我的前端架构之二--统一扩展Js方法
我的前端架构汇总 MyJs_Core.js 这是一个核心的Js文件,它扩展了原生的Js方法.如下: Array对象: 1) indexOf 2) max 3) min 4) removeAt 5) i ...
- JS(获得当前时间并且用2015-01-01格式表示)
一个简单的小例子,实现获得当前时间,js代码如下: function getdate() {var date = new Date();var mon = date.getMonth() + 1; ...
- js中获得当前时间是年份和月份
js中获得当前时间是年份和月份,形如:201208 //获取完整的日期 var date=new Date; var year=date.getFullYear(); var month ...
- .net中判断距离高考多长时间的js函数
在JS中判断距离高考(此处举例高考)的时间函数 JS中代码: function djs() { var severtime= new Date(); //获取服务器日期 var year=severt ...
随机推荐
- Inline Workers--Web workers without a separate Javascript file
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head&g ...
- XML Data Type Methods(一)
XML Data Type Methods(一) /*XML Data Type Methods: 1.The query('XQuery') method retrieves(vt.检索,重新得到) ...
- mysql查看数据库和表的占用空间大小
mysql查看数据库和表的占用空间大小 第一部分-任务 将线上db,导出后,导入到office db 一. 两种方案: 1,将数据直接从online-->office,通过mysqldump ...
- noi题库(noi.openjudge.cn) 1.7编程基础之字符串T21——T30
T21:单词替换 描述 输入一个字符串,以回车结束(字符串长度<=100).该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写.现需要将其中的某个单词替换成另一个单词,并输出替 ...
- tomcat 新手上路
前提:本机先安装好JDK,保证常规java环境已经具备 1.下载Tomcat 7.0现在官网上好象已经没有安装程序版了,只有免解压zip版本(现在最新的版本是7.0.42) 下载地址 http://t ...
- 智普教育Python培训之Python开发视频教程网络爬虫实战项目
网络爬虫项目实训:看我如何下载韩寒博客文章Python视频 01.mp4 网络爬虫项目实训:看我如何下载韩寒博客文章Python视频 02.mp4 网络爬虫项目实训:看我如何下载韩寒博客文章Pytho ...
- 安装mint的时候提示:Not compatible with your operating system or architecture: fsevents@1.0.11
Since fsevents is an API in OS X allows applications to register for notifications of changes to a g ...
- 异常和IO
异常 异常是指java程序运行时(非编译)所发生的非正常情况或错误. Java对异常进行了分类,不同类型的异常分别用不同的 Java 类表示,所有异常的根类为 java.lang.Throwable, ...
- TF400916错误修复办法
在使用TFS作为研发过程管理工具的时候,如果调整了工作项的状态信息,可能会出现下面的错误: 要解决此问题非常简单: 1.找一台安装了VS2015程序的环境.因为我们使用的是TFS2015,所以需要对应 ...
- Safari 下用 "location.href = filePath" 实现下载功能的诡异 bug
Safari 下的一些诡异 bug 我们已经领教一二,比如前文中说的 无痕浏览模式下使用 localStorage 的 API 就会报错.今天我们要讲的是利用 location.href = file ...