2011-03-04 80 views

回答

0

是。 你可以試試:

var value = $.datepicker.parseDate("dd-M-yy",date); 
return $.datepicker.formatDate("dd\mm",value); 

datepicker API

你只需要jquery.ui(也許你使用它...)

,但我怎麼會現在使你的代碼 工作格式中的所有日期說一個div 分類爲「日期」?例如:14-MAR-2011

Somerthing一樣,在你的jQuery腳本(沒有測試過,但是應該作品後糾正可能的錯誤):

$('.date').each(function(idx,elt) { 
    var value = $.datepicker.parseDate("dd-M-yy",$(elt).html()); 
    $(elt).html($.datepicker.formatDate("dd\mm",value)); 
}); 
+0

由於這看起來很有希望。 ..但我在哪裏實際上把這個? 我現在添加了jQuery UI(帶DatePicker)到我的網站,但我現在如何讓你的代碼工作來格式化所有日期說在div分類「日期」?例如:

14-MAR-2011
Adam 2011-03-04 14:03:42

+0

太棒了! 只需要將formatDate更改爲:「mm \\ y」 即可獲得所需的格式幷包含反斜槓 謝謝Benoit – Adam 2011-03-04 14:32:14

0

你可以在Datejs看一看:

var date = Date.parseExact('14-MAR-2011', 'dd-MMM-yyyy'); 
alert(date.toString('dd\\MM')); 
0

好jQuery提供了一堆有用的工具,但我認爲這個東西,你應該只使用經典的JavaScript。 如果Date.parse()和date.toDateString()是不是你需要什麼,你可以看看here

0

如果你要工作了很多的日期,我會建議非常穩健Datejs LIB :http://www.datejs.com/

如果你只是要解析特定的格式(如在沒有受到變量),你可以使用substringing技術和有點邏輯的,如這樣的:

var badFormat = '14-DEC-2011', // input 
    goodFormat = badFormat.substr(9), // YY 
    month = badFormat.substr(3, 3); // MMM 

// a switch statement would be long and readable (probably recommended) 
if(month[0] == 'J') 
    if(month[1] == 'U') 
     month = month[2] == 'N' ? 6 : 7; 
    else month = 1; 
else if(month[0] == 'F') month = 2; 
else if(month[0] == 'M') 
    month = month[2] == 'R' ? 3 : 5; 
else if(month[0] == 'A') 
    month = month[1] == 'P' ? 4 : 8; 
else if(month[0] == 'S') month = 9; 
else if(month[0] == 'O') month = 10; 
else if(month[0] == 'N') month = 11; 
else month = 12; 

month = month < 10 ? '0' + month : month; 
goodFormat = month + '\\' + goodFormat; // MM\YY 
相關問題