2014-03-25 48 views
1

我有一個字符串變量,它包含一個看起來像這樣的日期。Javascript格式字符串

<script> 
    var value = "2014-03-24"; 
</script> 

我想將字符串格式化爲看起來像這樣的日期。

<script> 
    var formattedData = "03/24/2014"; 
</script> 

我需要用「/」替換「 - 」並移動月份/日期/年份。有人能幫幫我嗎?謝謝。

+0

你想讓它成爲一個靜態值或動態 –

+0

靜態,我想改變一個字符串使用JavaScript。那麼如果你的意思是,每一次的日期會不一樣?那麼是的,它可以。 –

+0

好吧,首先關閉一個靜態值,你可能想這樣做:month +「/」+ day +「/」year; –

回答

1
var formatDateString = function (unformatted) { 
    var parts = unformatted.split('-'); 
    return parts[1] + '/' + parts[2] + '/' + parts[0]; 
}; 

var formattedData = formatDateString(value); 
3

試試這個;

var d = new Date("2014-03-24"); 
d.toLocaleDateString("en-US"); // "3/24/2014" 

注意,這裏的好處是,你可以通過不同的格式,如「EN-GB」爲英國實例,它會給你日/月/年不同的語言環境。如果你真的想特別用兩位數的月份;

d.toLocaleDateString("en-US", {day:'2-digit', month:'2-digit', year:'numeric'}); // "03/24/2014" 

如果您遇到瀏覽器不一致問題,您也可以使用這個老派最低公分母;

(d.getMonth()+1) + "/" + d.getDate() + "/" + d.getFullYear(); // "3/24/2014" 

但不會墊你的一天,一個月,雖然2位數。如果你想要的話,你需要使用這樣的小墊子功能;

function padDateZ(n) { return n < 10 ? '0' + n : n.toString(); } 
(padDateZ(d.getMonth()+1)) + "/" + padDateZ(d.getDate()) + "/" + d.getFullYear(); // "03/24/2014" 
1

您需要使用的分裂和加入javascript.Something類似的功能,

var date = value.split("-"); 
new_date = date[1]+"/"+date[2]+"/"+date[0]; 
console.log(new_date); 
0
("2014-03-24").split('-').join('/') 
//returns "2014/03/24" 

編輯:只是重新閱讀的問題,並注意到月份和一天需要重新安排。哎呦!去與其他答案。