日期 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