`
hudeyong926
  • 浏览: 2035385 次
  • 来自: 武汉
社区版块
存档分类
最新评论

js Date对象的扩展函数

阅读更多

日期 http://momentjs.com/

<script type="text/javascript">
Date.prototype.format = function(format) {
	var o = {
		"M+": this.getMonth() + 1,
		//month
		"d+": this.getDate(),
		//day
		"h+": this.getHours(),
		//hour
		"m+": this.getMinutes(),
		//minute
		"s+": this.getSeconds(),
		//second
		"q+": Math.floor((this.getMonth() + 3) / 3),
		//quarter
		"S": this.getMilliseconds() //millisecond
	}
	if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
	for (var k in o)
	if (new RegExp("(" + k + ")").test(format)) format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
	return format;
}
// 日期相差天数
Date.prototype.diff = function(date){
	return Math.ceil((this - date) / (1000 * 60 * 60 * 24));
}

// 日期加减计算
Date.prototype.add = function(days){
	return new Date(this.getTime() + days * (1000 * 60 * 60 * 24));
}

// 日期加减计算
Date.prototype.addMonth = function(months){
	var day = this.getDate();
	var month = this.getMonth() + 1;
	var year = this.getFullYear();
	month += months;
	if(month > 12){
		year += Math.floor(month / 12);
		month = month % 12;
	}
	return Date.parse(month + '/' + day + '/' + year);
}
var ddd = new Date();
document.write(ddd.format('yyyy-MM-dd'));
</script>
 

对象

Object.prototype.clone = function()
{
	if(typeof(this) != "object")
		return this;

	var $cloneDepth = (arguments.length >= 1) ? ((isNaN(parseInt(arguments[0]))) ? null : parseInt(arguments[0])) : null;
	if($cloneDepth)
		$cloneDepth = ($cloneDepth <= 0) ? null : $cloneDepth;

	var $cloneObject = null;
	var $thisConstructor = this.constructor;
	var $thisConstructorPrototype = $thisConstructor.prototype;

	if($thisConstructor == Array)
		$cloneObject = new Array();
	else if($thisConstructor == Object)
		$cloneObject = new Object();
	else
	{
		try
		{
			$cloneObject = new $thisConstructor;
		}
		catch(e)
		{
			$cloneObject = new Object();
			$cloneObject.constructor = $thisConstructor;
			$cloneObject.prototype = $thisConstructorPrototype;
		}
	}

	var $propertyName = "";
	var $newObject = null;

	for($propertyName in this)
	{
		$newObject = this[$propertyName];

		if(!$thisConstructorPrototype[$propertyName])
		{
			if(typeof($newObject) == "object")
			{
				if($newObject === null)
					$cloneObject[$propertyName] = null;
				else
				{
					if($cloneDepth)
					{
						if($cloneDepth == 1)
							$cloneObject[$propertyName] = $newObject;
						else
							$cloneObject[$propertyName] = $newObject.clone(--$cloneDepth);
					}
					else
						$cloneObject[$propertyName] = $newObject.clone();
				}
			}
			else
				$cloneObject[$propertyName] = $newObject;
		}
	}

	return $cloneObject;
}

ss

分享到:
评论

相关推荐

    Javascript 日期对象Date扩展

    Date对象扩展,包括常用中文日期格式解析、加减操作、日期差、周操作和季操作。具体扩展的方法如下: parseCHS--静态方法。解析常用的中文日期并返回日期对象。 add--日期加减操作。[注:此函数在上传时还存在...

    关于js的Date对象的有用扩展

    在“关于js的Date对象的有用扩展”中,我们可以看到一些额外的功能或方法,可能是对原生Date对象的扩展,以满足更复杂的日期处理需求。 在`date.js`文件中,很可能包含了一些自定义函数或原型扩展,这些扩展可能...

    Date对象的补充函数,包括类似Python中的strftime()

    在这个场景中,datetime.js-master库可能就是这样一个工具,它为JavaScript的Date对象添加了更多格式化日期和时间的方法。 在Python的datetime模块中,strftime()方法允许开发者将日期和时间对象转换为格式化的字符...

    de1.7 轻量级的javascript扩展函数库

    de.js是一个轻量级的javascript扩展函数库,通过扩展页面元素的方法和属性、和扩展javascript内置类型的方法来帮助web前端开发人员实现更便捷和高效的编程。以下是主要特点: 支持类似jquery的选择器,同时支持类似...

    javascript转换日期字符串为Date日期对象的方法.docx

    ### JavaScript 转换日期字符串为 Date 日期对象的方法 在 JavaScript 开发中,处理日期是非常常见的需求之一。很多时候,我们需要将用户输入或其他来源得到的日期字符串转换为 `Date` 对象,以便进行进一步的计算...

    NextDate函数小程序

    6. **扩展性**:考虑如何修改或扩展函数,使其支持获取下一个工作日、下一个特定日期等功能。 通过这个NextDate函数小程序,你可以深入理解日期处理的基本原理,同时提升编程技巧和问题解决能力。在实际项目中,...

    js获取时间函数及扩展函数的方法

    总的来说,JavaScript的Date对象和相关的扩展函数提供了强大的日期和时间处理能力,能够帮助开发者在前端开发中进行复杂的日期操作,无论是简单的显示格式化还是复杂的日期计算。通过理解并熟练运用这些方法,开发者...

    JS中获取Date对象实现实时钟表小demo

    JavaScript的Date对象提供了更多的方法和属性,如`getTimezoneOffset()`(获取本地时间与UTC时间的分钟差)、`toUTCString()`(转换为UTC字符串)等,可以根据需求进行扩展和定制。此外,现代JavaScript还引入了`...

    w3cshool之JavaScript对象_Date

    ### JavaScript Date 对象详解 #### 一、概述 在JavaScript编程语言中,`Date`对象是一种非常实用且功能强大的工具,主要用于处理与日期和时间相关的数据。通过`Date`对象,开发者可以轻松地获取系统当前的日期和...

    js版DateDiff, DateAdd, DatePart等日期数据扩展函数,非常实用

    总之,这些扩展函数极大地丰富了JavaScript中的日期处理能力,使得开发者能够更高效地处理各种日期相关的逻辑,从而提高应用程序的性能和用户体验。通过理解和应用这些函数,你可以在自己的项目中实现更加灵活和复杂...

    Mtils是一套前端代码集合提供常用的数据校验数据加密扩展函数便捷函数

    Mtils 的扩展函数部分是对 JavaScript 原生对象功能的补充和增强,比如对 Array、String、Date 等对象的扩展。这些扩展函数通常是为了提升代码的可读性和可维护性,减少重复代码,例如数组的去重、字符串的操作等。...

    JavaScript版的DateAdd、DateDiff、IsDate函数

    在JavaScript中,我们可以通过创建一个新的Date对象并调整其`getTime()`属性来实现这一功能。例如,如果我们想向当前日期添加3天,我们可以这样做: ```javascript function dateAdd(date, interval, value) { ...

    再践javascript对象、原型、属性、构造函数、扩展、json.docx

    ### JavaScript对象、原型、属性、构造函数、扩展、JSON #### JavaScript对象类型 JavaScript是一种广泛使用的脚本语言,尤其在Web开发中占据了重要的地位。它支持多种对象类型,包括内部对象、基于类的对象以及...

    js自定义对象讲解

    在JavaScript中,自定义对象可以通过对象字面量或构造函数来创建,以扩展语言的功能。它们与JS的标准对象相对,后者如Date、Array等是由语言内置的。 1.2.2 原型(prototype) 原型是JavaScript中一种特殊的概念,...

    JS版的date函数(和PHP的date函数一样)

    在JavaScript中,虽然原生的`Date`对象提供了类似的功能,但没有完全匹配PHP `date`函数的直接方法。因此,我们可以自定义一个`date`函数来模拟PHP的行为。 以下是一个JavaScript实现的`date`函数,其功能与PHP的`...

    基于prototype扩展的JavaScript常用函数库

    JavaScript是一种基于原型的编程语言,它允许开发者通过原型(prototype)的方式来扩展原生对象的功能。在JavaScript中,Array和Date对象是两个常用的内置对象,分别用于处理数组和日期相关操作。本知识点将详细解释...

    ASP.NET AJAX深入浅出系列课程(7):Microsoft AJAX Library对于JavaScript原生对象的扩展(上)

    在AJAX库中,你可以找到如parseDate和formatDate这样的函数,它们分别用于解析和格式化日期字符串,解决了JavaScript原生Date对象在这方面的不足。此外,还有新增的时间比较和操作方法,如add和subtract,方便开发者...

    js date

    DP_DateExtensions.js是一个为JavaScript的`Date`对象扩展了更多功能的库,它提供了方便的日期比较、日期间隔计算以及各种格式化选项。例如,你可以方便地检查日期是否在另一日期之前或之后,或者计算两个日期之间的...

    js获取系统时间函数

    JavaScript 提供了内置的 `Date` 对象,通过它可以轻松地获取到当前的时间戳以及格式化后的日期和时间。本文将详细介绍如何使用 JavaScript 来获取系统时间,并提供一个简单的示例代码。 #### 二、JavaScript Date ...

    提供用于处理日期和时间的标准对象和函数.zip

    这个压缩包“提供用于处理日期和时间的标准对象和函数.zip”显然包含了关于JavaScript中日期和时间操作的相关资源,特别是可能是一个提案或更新,名为“proposal-temporal_main.zip”,这可能是对JavaScript标准库的...

Global site tag (gtag.js) - Google Analytics