0

如何使用 javascipt 将格式为“dmyyyy”的字符串转换为另一种格式,例如“yyyy-mm-dd”?我试过使用 new Date('9.5.1989')。但它不起作用。

4

4 回答 4

2

尝试

new Date('9.5.1989'     // your input string
          .split(/\./)  // split into [9,5,1989]
          .reverse()    // reverse into [1989,5,9]
          .join('/')    // join into '1989/5/9', which is valid input for Date
);
于 2012-07-30T10:01:37.627 回答
2

如果您需要将结果作为 astring而不是 a Date,则可以尝试以下操作:

var d = new Date('9.5.1989');​
var str = d.getFullYear() + "-" + (d.getMonth() + 1 /*months are 0 based */) + "-" + d.getDate();
alert(str);

​</p>

于 2012-07-30T10:09:42.357 回答
1
function pad(number, length) { 
    var str = String(number);
    return (str.length >= length) ? str : ( new Array(length - str.length + 1).join('0') ) + str;
}

var pieces = "10.2.2012".split('.');
var wanted = pieces[2] + '-' + pad(pieces[0], 2) + '-' + pad(pieces[1], 2);

之后,结果在wanted变量中

于 2012-07-30T10:05:55.523 回答
0

尝试下一个代码来获取 Date 对象 var tmp = str.split('.'); var dateObj = new Date(tmp[2], tmp[0], tmp[1]); 然后根据需要对其进行格式化。如果您使用 jquery 库,则可以使用 jQuery dateFormat 插件。

于 2012-07-30T10:17:23.847 回答