使用javascript jquery或css格式化字符串日期

时间:2013-08-28 06:42:18

标签: javascript jquery html css

我有一些日期写得像这样:

7-sep, 14-sep, 21-sep, 28-sep,

 5-oct,12-oct, 19-oct,26-oct,

2-nov, 9-nov, 16-nov, 23-nov,30-nov,

 7-dec,14-dec, 21-dec,28-dec-2013.

我如何格式化它们,使用javascript jQuery甚至CSS看起来更干净?我希望他们在一张桌子里,像这样:

日期|价格|注意

3 个答案:

答案 0 :(得分:1)

DEMO

var d = new Date();
var arr =[];
var months = new Array('jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec');
var month = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
var x = "7-sep, 14-sep, 21-sep, 28-sep, 5-oct,12-oct, 19-oct,26-oct,2-nov, 9-nov, 16-nov, 23-nov,30-nov, 7-dec,14-dec, 21-dec,28-dec-2014";
var x_date = x.split(',');
$.each(x_date, function (i, val) {
    var dt = ($.trim(val)).split('-');
    var dt_new = new Date(months.indexOf(dt[1]) + 1 + ',' + dt[0] + ',' + d.getFullYear());
    var day = dt_new.getDate();
    var dt_new_ret = day + ([, 'st', 'nd', 'rd'][/1?.$/.exec(day)] || 'th') + ' ' + month[dt_new.getMonth()] + ' ' + dt_new.getFullYear();
    arr.push(dt_new_ret);
});
console.log(arr);

Updated DEMO

$.each(arr, function (i, val) {
    $('tbody').append('<tr><td>' + val +
        '</td><td>Price Here</td><td>Note Here</td></tr>');
});

在上面的代码中添加了这个以将其添加到表

答案 1 :(得分:0)

显然,你需要以某种方式处理这些日期,具体取决于你所拥有的格式。假设你将日期作为一个字符串,你可以将它“标记”成一个数组来分别获取日期。然后,您可以使用一个简单的循环来创建表行。

var dates = "7-sep, 14-sep, 21-sep, 28-sep, 5-oct,12-oct, 19-oct,26-oct, 2-nov, 9-nov, 16-nov, 23-nov,30-nov, 7-dec,14-dec, 21-dec,28-dec-2013.";    
dates = dates.substring(0, dates.length - 1).replace(' ', '');
var datesArray = dates.split(',');
for (var i = 0; i < datesArray.length; i++) {
    $('tbody').append('<tr><td>' + datesArray[i] +
        '</td><td>Price Here</td><td>Note Here</td></tr>');
}

请参阅此示例:http://jsfiddle.net/FuY38/

答案 2 :(得分:0)

http://momentjs.com/

查看moment.js

它非常紧凑,比Date对象上的常规方法更灵活。

使用moment.js,您可以执行以下操作:

var current_year = new Date().getFullYear();
var d = moment('7-sep'+' '+current_year);
d.format("Do MMMM YYYY");

这将返回“2013年9月7日”