今天我为js - date编写了一个通用的日期转换器。
现在,在我将这个方法添加到我自己的lib中的日期对象之前,我希望得到一些提示,使这个方法尽可能高效。
描述: 参数'initVal'是给定的有效日期 参数'format'是所需的dateformat as String,例如'd.m.Y'
对于'格式'我正在使用来自php http://www.php.net/manual/en/function.date.php
的日期参数有几个问题,我不确定,例如:
是最适合选择的开关吗? 避免在每次迭代中使用jquery-routines会更好吗? 还有吗?有没有nogos?
thx很多为你的建议!
var getWellDate = function(initVal, format){
var dateObj = new Date(initVal);
var strArr = format.split('');
var returnVal = '';
var tempVal = '';
$.each(strArr, function (index, value) {
switch (value){
case 'd' : // day with leading zero
case 'j' :
tempVal = dateObj.getDate();
returnVal += tempVal < 10 && value == 'd' ? '0' + tempVal : tempVal;
break;
case 'm' : // month with leading zero
case 'n' :
var tempVal = dateObj.getMonth() + 1;
returnVal += tempVal < 10 && value == 'm' ? '0' + tempVal : tempVal;
break;
case 'Y' : // year 4 digits
case 'y' : // year 2 digits
tempVal = dateObj.getFullYear();
returnVal += value == 'Y' ? tempVal : tempVal.match(/\d{2}$/);
break;
default :
returnVal += value;
}
});
return returnVal;
}
也许这个功能对其他人也很有用。 ive存储在bitbucked中 - 只是asc用于链接