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