js日期操作类
/**
* Date time format string define.
*/
Date.Format = {
FORMAT1: "yyyy/MM/dd HH:mm:ss",
FORMAT2: "yyyy-MM-dd HH:mm:ss",
FORMAT3: "yyyyMMddHHmmss"
};
/**
* Convert a date time string to a date object,<br>
* The acceptable format is like "yyyy-MM-dd HH:mm:ss" or "yyyy/MM/dd HH:mm:ss" or "yyyyMMddHHmmss"
*/
Date.toDate = function(dateTimeString){
if (!dateTimeString) return new Date();
dateTimeString = dateTimeString.replace(/-/, "/");
if (dateTimeString.indexOf("/") == -1) {
dateTimeString = dateTimeString.substr(0, 4) + "/"
+ dateTimeString.substr(4, 2) + "/" + dateTimeString.substr(6, 2)
+ " " + dateTimeString.substr(8, 2) + ":"
+ dateTimeString.substr(10, 2) + ":" + dateTimeString.substr(12, 2);
}
return new Date(dateTimeString);
};
String.prototype.trim = function() {
return this.replace(/(^\s+)|(\s+$)/g, "");
};
/**
* Add a format method to the Date class.
*/
Date.prototype.format = function(formatStr){
var dateStr = formatStr ? formatStr : Date.Format.FORMAT3;
dateStr = dateStr.replace(/yyyy|YYYY/, this.getFullYear())
.replace(/yy|YY/, (this.getYear() % 100) > 9 ?
(this.getYear() % 100).toString() : '0' + (this.getYear() % 100));
var month = this.getMonth() + 1;
dateStr = dateStr.replace(/MM/,
month > 9 ? month.toString() : '0' + month).replace(/M/g, month);
dateStr = dateStr.replace(/dd|DD/,
this.getDate() > 9 ? this.getDate().toString()
: '0' + this.getDate()).replace(/d|D/g, this.getDate());
dateStr = dateStr.replace(/hh|HH/,
this.getHours() > 9 ? this.getHours().toString()
: '0' + this.getHours()).replace(/h|H/g, this.getHours());
dateStr = dateStr.replace(/mm/,
this.getMinutes() > 9 ? this.getMinutes().toString()
: '0' + this.getMinutes()).replace(/m/g, this.getMinutes());
dateStr = dateStr.replace(/ss|SS/,
this.getSeconds() > 9 ? this.getSeconds().toString()
: '0' + this.getSeconds()).replace(/s|S/g, this.getSeconds());
return dateStr;
};