2012-01-04 54 views
1

我有這種格式的日期dd/m/yyyy(如果月份少於10個)我想轉換爲這一個dd/mm/yyyy無論這個月的價值是多少。javascript dd/mm/yyyy javascript dd/mm/yyyy

謝謝。

+0

那麼基本上0填充月份值? – 2012-01-04 16:27:46

+0

你是不是隻是說如果只有一位數字,你想在月份中加一個前導零? – jfriend00 2012-01-04 16:28:31

回答

2

這裏有一個簡單的解決方案,如果你知道該字符串的確切格式你已經發布:

s = s.replace(/\/(\d)\//, '/0$1/'); 

當然,你可能要檢查d/m/yyyy,或d/mm/yyyy

另一種選擇,在這種情況下,是:

s = s.replace(/\b\d\b/g, '0$&'); 

再次,假定該日期是整個字符串,並在它不是局部的。圖案讀取:

  • \b\d\b - 的一個數字,是一個全字(由非字母數字字符或字符串的邊緣包裹)
  • /g - 全局替換,因爲我們可以具有兩個匹配。
  • 0$& - 在整場比賽中添加一個零。
+0

,這實際上是錯誤的我在找 – 2012-01-04 16:42:09

0
var month = "00"; 

if (month < 10) month = "0" + month; 
2
var date = "06/7/2011"; 

if(date.length == 9) { 
    date = date.substring(0,3)+"0"+date.substring(3); 
} 

alert(date); 

http://jsfiddle.net/sTf68/

這顯然不是一個非常強大的解決方案,但是,如果它只是一個小問題,你需要固定的,它會達到這個目的。對於更一般的日期格式,我建議您使用JavaScript庫來執行此操作,例如datejsDate Format

0
"12/9/2011".replace(/\/(\d\d?)\//, function(a, month) { 
    return "/" + (parseInt(month, 10) < 10 ? "0" + month : month) + "/"; 
}); 

http://jsfiddle.net/pjTGh/

+0

這可能是最快的解決方案。我會搜索/ \ d {1-2} \ //(一個或兩個數字後面跟一個斜槓),並用您輸入的兩位數字替換 – Kosta 2012-01-04 16:36:03

+0

哦,並使用parseInt(number,10)來處理09正確。 parseInt(「09」)返回0 – Kosta 2012-01-04 16:37:26

+0

您可以搜索'\/\ d \ /'。在匹配'\ d {2}'時沒有意義,並檢查它的長度,如果輸入已經是正確的格式(22/01/2012 - > 22/001/2012) – Kobi 2012-01-04 16:42:27

0

的javascipt的日期API是一個有點疼痛。我會.split('/')得到dd,m和yyy。作爲字符串。然後使用parseInteger(x,10)將數字從它們中移出(需要使用10,以便將09月份視爲十進制9而不是無效八進制9)。然後你可以從那裏製作一個新的填充字符串。 (或者一個新的日期() - 但要注意,日期和月份是基於0的!)。

不幸的是,如果你想格式化日期作爲一個字符串,你需要自己做填充。見例如Formatting Javascript string to have 03 not 3?

1

試試這個:

function normalizeDate(input) { 
    var parts = input.split('/'); 
    return (parts[0] < 10 ? '0' : '') 
    + parseInt(parts[0]) + '/' 
    + (parts[1] < 10 ? '0' : '') 
    + parseInt(parts[1]) + '/' 
    + parseInt(parts[2]); 
} 

alert(normalizeDate('2/3/2000')); //alerts "02/03/2000" 
alert(normalizeDate('12/11/2000')); //alerts "12/11/2000" 
alert(normalizeDate('12/7/2000')); //alerts "12/07/2000" 

正如你可以看到這個功能將添加到0前兩個數字,不僅第二。

相關問題