2013-01-03 139 views
0

我需要一個解決方案來轉換,解析或格式Date()toString'2012年12月1日'。我發現這個例子是String:'mmm d,yyyy',但它不起作用。Javascript日期格式/解析toString()'2012年12月1日'

+0

我的回答對你有幫助嗎? –

+0

@RavinderSingh當你回來時,請不要*發表評論詢問人員你的帖子是否幫助他們或投票/接受你的帖子。 –

回答

0

我會推薦你​​手動解析日期。

使用此功能:

 
// parse a date in yyyy-mm-dd format 
function parseDate(input) { 
    var parts = input.match(/(\d+)/g); 
    // new Date(year, month [, date [, hours[, minutes[, seconds[, ms]]]]]) 
    return new Date(parts[0], parts[1]-1, parts[2]); // months are 0-based 
} 
+0

誰低估了我的帖子? –

1

您的問題不清楚您是要將字符串轉換爲日期,反之亦然。

要將Date對象轉換成你要找的格式爲:

function dateToString(d) { 
    var month = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'][d.getMonth()]; 
    return month + ' ' + d.getDate() + ', ' + d.getFullYear(); 
} 

要指定一個Date格式的字符串轉換:

function stringToDate(s) { 
    var match = s.match(/^(\w{3}) (\d{1,2}), (\d{4})$/); 

    if (match) { 
    var month = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'].indexOf(match[1]); 
    return new Date(match[3], month, match[2]); 
    } else { 
    return undefined; 
    } 
} 

注意stringToDate需要Array.indexOf。這在所有瀏覽器中都不受支持,但可以使用shim'd。

相關問題