js扩展

Date.prototype.toFormatString = function (formatString, isPad) {

/// <summary>

/// 格式化日期

/// <param>param1-String-日期格式  </param>

/// <param>param2-bool-是否补0,默认true </param>

/// </summary>

formatString = formatString || "yyyy-mm-dd";

isPad = isPad || true;

var date = this;

var year = date.getFullYear();

var month = date.getMonth() + 1;

var day = date.getDate();

var hours = date.getHours();

var minutes = date.getMinutes();

var seconds = date.getSeconds();

var milliseconds = date.getMilliseconds();

if (isPad) {

month = month < 10 ? "0" + month : month;

day = day < 10 ? "0" + day : day;

hours = hours < 10 ? "0" + hours : hours;

minutes = minutes < 10 ? "0" + minutes : minutes;

seconds = seconds < 10 ? "0" + seconds : seconds;

milliseconds = milliseconds < 10 ? "0" + milliseconds : milliseconds;

}

switch (formatString) {

case "yyyy-mm-dd":

return year + "-" + month + "-" + day;

break;

case "yyyy-mm-dd hh:mm":

return year + "-" + month + "-" + day + " " + hours + ":" + minutes;

break;

case "yyyy-mm-dd hh:mm:ss":

return year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + milliseconds;

break;

case "yyyy/mm/dd":

return year + "/" + month + "/" + day;

break;

case "yyyy/mm/dd hh:mm":

return year + "/" + month + "/" + day + " " + hours + ":" + minutes;

break;

case "yyyy/mm/dd hh:mm:ss":

return year + "/" + month + "/" + day + " " + hours + ":" + minutes + ":" + milliseconds;

case "年月日":

return year + "年" + month + "月" + day + "日";

break;

case "年月日时分秒":

return year + "年" + month + "月" + day + "日" + hours + "时" + minutes + "分";

break;

default:

return year + "年" + month + "月" + day + "日" + hours + "时" + minutes + "分" + milliseconds + "秒";

break;

}

}

Date.prototype.parseJsonDate = function (jsonDate) {

/// <summary>

/// json日期格式转换为日期对象

/// <param>param1-String-json日期   </param>

/// <param>return Date对象  </param>

/// </summary>

if (!jsonDate) return null;

var time = parseInt(jsonDate.replace("/Date(", "").replace(")/", ""), 10);

var date = new Date(time);

return date;

}

var week = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];

Date.prototype.getWeek = function () {

return week[this.getDay()];

}

Date.prototype.addYear = function (value) {

if (!value) return this;

this.setFullYear(this.getFullYear() + value);

return this;

}

Date.prototype.addMonth = function (value) {

if (!value) return this;

this.setMonth(this.getMonth() + value);

return this;

}

Date.prototype.addDate = function (value) {

if (!value) return this;

this.setDate(this.getDate() + value);

return this;

}

时间: 2024-10-25 11:33:56

js扩展的相关文章

JS扩展 或 Jquery的扩展写法

<script>//JS扩展String函数test,其它类推String.prototype.test = function(s){ alert(this+s);}var str = 'hello';str.test('world');//helloworld //JQ扩展(function($){ $.fn.test = function(op){ var defaults = {a:'no'} var setings = $.extend(defaults,op); alert(seti

20160307 - 双击打开 Js 扩展名的附件要保持留心

Windows Script Host 技术是一门很老的技术,它让 Windows 的自带脚本 VBScript 和 JScript 可以操作 Windows ActiveX 对象,这样的脚本具有本地权限,比如本地文件系统的访问,网络的访问等.我在邮件中收到一封来自联邦快递的邮件.附件为:Label_00979216.doc.js,很简单的混淆并压缩,代码如下, var a5 = 'va'; var a3 = 'l'; var a1 = ''; var a4 = 'e'; function op

Python selenium的js扩展实现

python写的数据采集,对一般有规律的页面用 urllib2 + BeautifulSoup + 正则就可以搞定. 但是有些页面的内容是通过js生成,或者通过js跳转的,甚至js中还加入几道混淆机制:对这种涉及页面脚本解析的内容,前面的方式便很无力. 这时我们需要能解析.运行js的引擎——浏览器,而python selenium能提供程序与浏览器的交互接口,再加上phantomjs这个可以后台运行的浏览器,即使用 selenium + phantomjs 便可以解决以上的问题. seleniu

JS扩展方法

JS扩展方法与C#的扩展方法非常相似,也是可以链式调用的,也是通过对某个类的扩展写法来实现.这个东西非常好用,如果将预先写好的方法放到一个js里面引用的话,那么后面写js将非常有趣. 下面给出一个例子: <head> <title>测试JS扩展方法</title> <script type="text/javascript"> // 合并多个空白为一个空白 String.prototype.ResetBlank = function()

JS扩展方法——字符串trim()

转自:http://www.cnblogs.com/kissdodog/p/3386480.html <head> <title>测试JS扩展方法</title> <script type="text/javascript"> // 合并多个空白为一个空白 String.prototype.ResetBlank = function() { //对字符串扩展 var regEx = /\s+/g; return this.replace(

js扩展运算符

js扩展运算符(spread)是三个点 作用:将一个数组转为用逗号分隔的参数序列. 原文地址:https://www.cnblogs.com/zxyzm/p/10647963.html

MVVM架构~knockoutjs系列之为validation.js扩展minLength和maxLength

返回目录 为什么要对minLength和maxLength这两个方法进行扩展呢,是因为这样一个需求,在用户注册时,可以由用户自己决定他们输入的字符,中文,英文,数字均可,这样做了之后,使用户的体验更好,但对于程序来说就有些麻烦了,因为 我们的Length方法只针对英文字符和数字而言的 原因1:事实上,真实的数据存储里,中文和全角他们占用的是两个字符的空间,所以,我们在验证中文时,应该考虑到这点. 原因2:不说计算机基础知识,但说现实世界里,如果你的用户名由4~10位组成,那么,如果你用Lengt

Arcgis for JS扩展GraphicLayer实现区域对象的聚类统计与展示

功能需求: 分省市统计并展示全国雨量站的数目与位置. 常规做法: 分省市雨量站的数目通过统计表的形式在页面端展示,位置根据XY坐标信息将雨量站标绘在图上. 优化做法: 去掉统计图的展示方式,直接将各省市雨量站的数量信息与位置信息展示在图上,如下图所示: 雨量站的分省市统计与展示 处理思路: 首先,提取各省/市的中心点或者省会城市X与Y坐标信息,在本实例中使用的是省会城市的XY坐标信息,用来显示各省市雨量站的分布. 接着,分省/市统计各省市雨量站的个数,并将其根据个数分颜色.大小将其展示在图上.

js 扩展实例

//扩展实例1 字符串中首字符转大写 var test=' this is '; String.prototype.mytrim=function(){ var re=/^\s+(.*?)\s+$/; return this.replace(re,'$1'); }; console.log('['+test+']'); console.log('['+test.trim()+']'); //test.mytrim() 等价于:test.replace(re,'$1'); console.log(

Node.js 扩展时间监听器:文件监视器

创建一个Watcher类来处理放在某个目录下的文件.然后可以用这个类创建一个工具,该工具可以监视目录(watch目录,将放到里面的文件名都改成小写),并将文件复制到一个单独目录(done目录)中. 扩展事件发射器需要三步: 创建类的构造器: 继承时间发射器的行为: 扩展这些行为. 代码: function Watcher(watchDir, processedDir) { this.watchDir = watchDir; this.processedDir = processedDir; }