如何更改日期格式?

时间:2014-02-16 12:30:53

标签: javascript

我正在使用日期选择器,当我选择要在“DD-MM-YYYY”中打印的日期时(在我的文本字段中)。如果数字低于10,则从日期选择器中选择后,在文本字段中显示1或9而不是01或09。它发生在月和日。

我正在使用此代码设置日期。

var re_date = /^(\d+)\-(\d+)\-(\d+)\s$/;
if (!re_date.exec(str_datetime))

    return alert("Invalid Datetime format: "+ str_datetime);

return (new Date (RegExp.$3, RegExp.$2-1, RegExp.$1, RegExp.$4, RegExp.$5, RegExp.$6));

1 个答案:

答案 0 :(得分:1)

这样的事情:

   function d(str_datetime) {
        var re_date = /^(\d+)\-(\d+)\-(\d+)\s$/;
        if (!re_date.exec(str_datetime))

        return alert("Invalid Datetime format: "+ str_datetime);

        return (new Date (RegExp.$3, RegExp.$2-1, RegExp.$1));
    }

    var b = d('01-01-2014 ');
    b.getDate() +'-'+ (b.getMonth()+1)+'-'+b.getFullYear();
    // Outputs : "1-1-2014"

顺便说一下。由于你的正则表达式没有捕获分钟/秒,你可以删除RegExp。$ 4>如图所示。 如果你需要填充0,那么你可以使用这个辅助函数:

function pad(n){return n<10 ? '0'+n : n}

并将结果更改为:

pad(b.getDate()) +'-'+ pad((b.getMonth()+1))+'-'+b.getFullYear();