今天我为 js 写了一个通用的日期转换器——日期。
现在,在我将这个方法添加到我自己的库中到日期对象之前,我希望获得一些技巧,以使这个方法尽可能地高效。
说明:参数“initVal”是给定的有效日期参数“格式”是所需的日期格式,如字符串,例如“dmY”
对于“格式”,我使用来自 php http://www.php.net/manual/en/function.date.php的日期参数
有几个问题我不确定,例如:
switch'n'case 是最合适的选择吗?避免在每次迭代中使用 jquery 例程会更好吗?还有吗?有没有nogos?
非常感谢您的建议!
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;
}
也许该功能对其他人也有用。我存储在 bitbucked 中 - 只是链接的 asc