1、时间工具:
//时间工具类
var _dateUtils = {
//解析时间
parseDate:function(dateStr){
if(Object.prototype.toString.call(dateStr) === "[object Date]"){
return dateStr;
}
var dateArray;
var dateTime;
dateArray = dateStr.replace(/(-|\/|:|\s+)/g," ");
if(dateArray){
dateArray = dateArray.split(" ");
if(dateArray && dateArray.length>0){
var now = new Date();
var year = Number(dateArray[0]) || now.getFullYear();
var month = Number(dateArray[1]) || (now.getMonth()+1);
var date = Number(dateArray[2]) || now.getDate();
var hours = Number(dateArray[3]) || now.getHours();
var minutes = Number(dateArray[4]) || now.getMinutes();
var seconds = Number(dateArray[5]) || now.getSeconds();
dateTime = new Date(year,month-1,date,hours,minutes,seconds);
}
}
return dateTime;
},
//格式化日期
formatDate : function formatDate(dateStr,format){
var dateTime ;
//如果是日期类型
if(Object.prototype.toString.call(dateStr) === "[object Date]"){
dateTime = dateStr;
}else{
dateTime = this.parseDate(dateStr);
}
var year = dateTime.getFullYear();
var month = dateTime.getMonth()+1;
var date = dateTime.getDate();
var hours = dateTime.getHours();
var minutes = dateTime.getMinutes();
var seconds = dateTime.getSeconds();
if(!format){
format = 'yyyy-MM-dd';
}
format = format.replace(/yyyy/g,year);
format = format.replace(/MM/g,month>=10?month:"0"+month);
format = format.replace(/dd/g,date>=10?date:"0"+date);
format = format.replace(/HH/g,hours>=10?hours:"0"+hours);
format = format.replace(/mm/g,minutes>=10?minutes:"0"+minutes);
format = format.replace(/ss/g,seconds>=10?seconds:"0"+seconds);
format = format.replace(/M/g,month);
format = format.replace(/d/g,date);
format = format.replace(/H/g,hours);
format = format.replace(/m/g,minutes);
format = format.replace(/s/g,seconds);
return format;
},
//获取几天之前的日期
getDateBefore:function(date,day){
var d = new Date(date.getTime());
d.setDate( d.getDate() - Number(day) );
return d;
},
//获取几天之后的日期
getDateAfter:function(date,day){
var d = new Date(date.getTime());
d.setDate( d.getDate() + Number(day) );
return d;
}
}
//文本域高度自适应实现
function setStyle(el, auto) {
if (auto) el.style.height = '.76rem';
el.style.height = el.scrollHeight + 'px';
}
function makeExpandingArea(el) {
var timer = null;
//由于ie8有溢出堆栈问题,故调整了这里
// var setStyle = function(el, auto) {
// if (auto) el.style.height = '.76rem';
// el.style.height = el.scrollHeight + 'px';
// }
var delayedResize = function(el) {
if (timer) {
clearTimeout(timer);
timer = null;
}
timer = setTimeout(function() {
setStyle(el)
}, 200);
}
if (el.addEventListener) {
el.addEventListener('input', function() {
setStyle(el, 1);
}, false);
setStyle(el)
} else if (el.attachEvent) {
el.attachEvent('onpropertychange', function() {
setStyle(el)
})
setStyle(el)
}
if (window.VBArray && window.addEventListener) { //IE9
el.attachEvent("onkeydown", function() {
var key = window.event.keyCode;
if (key == 8 || key == 46) delayedResize(el);
});
el.attachEvent("oncut", function() {
delayedResize(el);
}); //处理粘贴
}
}