将yyyy-mm-dd转换为25日星期二

时间:2013-06-25 13:43:16

标签: javascript jquery date

我有一个格式为yyyy-mm-dd的变量集,我想使用JS(jQuery库)将其转换为Tuesday 25th格式。

我试过了:

var now = new Date('2013-06-25').format("l jS");

3 个答案:

答案 0 :(得分:3)

Moment js是一个很棒的javascript库,用于处理js的日期对象,并包含格式化日期对象的灵活方法。

这会为您提供您正在寻找的格式。

moment().format('dddd Do');

注意:moment对象是本机日期对象的包装器。

答案 1 :(得分:1)

你可以使用jQuery dateFormat插件。那里有很多可能性:

https://github.com/phstc/jquery-dateFormat

答案 2 :(得分:1)

问题1:

jQuery是一个DOM操作库,因此对日期没有任何作用。您要么必须使用其他库,要么编写自己的JavaScript。

问题2:

Date()函数/构造函数在某些浏览器中无法识别该格式,因此您必须自己解析它:

var s = '2013-06-25',
    y = +s.substr(0, 4),     // get the year
    m = +s.substr(5, 2) - 1, // get the month
    d = +s.substr(8, 2),     // get the date of the month
    date = new Date(y, m, d);

问题3:

JavaScript中没有自定义日期格式。此外,没办法得到一天的名字。

var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday',
            'Friday', 'Saturday'];
var formatted = days[date.getDay()] + ' ' + d;

问题4:

无法添加'th','nd'等...

if (Math.floor(d % 100 / 10) === 1) { // add 'th' for the 11th, 12th, and 13th
  formatted += 'th';
}
else {
  formatted += {1: 'st', 2: 'nd', 3: 'rd'}[d % 10] || 'th';
}