0

今天我为 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

4

1 回答 1

1

我肯定会看看著名的日期处理程序库是如何进行日期格式化的。例子:

于 2013-07-13T00:59:20.460 回答