javaScript,jQuery - 如何将时间戳转换为日期格式,如1月2日或1月26日?

时间:2011-02-07 02:15:16

标签: javascript jquery

给出一个字符串:

Sun Feb 06 2011 12:49:55 GMT-0800 (PST)

如何将其转换为:

Feb 6

和/或

Sun Jan 26 2011 12:49:55 GMT-0800 (PST)
to: Jan 26

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

这里没有任何内置的格式化函数,你只需要使用Date方法来构建字符串:

var months = [
    'Jan', 'Feb', 'Mar', 'Apr',
    'May', 'Jun', 'Jul', 'Aug',
    'Sept', 'Oct', 'Nov', 'Dec'
];

var d = new Date();
// Or,
var d = new Date('Sun Feb 06 2011 12:49:55 GMT-0800 (PST)');

alert(months[d.getMonth()] + ' ' + d.getDate());

或者,如果该字符串始终保持该格式,您只需提取相关部分而不将其首先转换为日期对象:

var str = 'Sun Feb 06 2011 12:49:55 GMT-0800 (PST)';
var components = str.split(' ').slice(1, 3);
components[1].replace(/^0/, '');
alert(components.join(' '));

答案 1 :(得分:1)

我认为this question可以帮助你。

strptime是一个非常有用的POSIX函数,用于解释人类可读的日期。

除此之外,我非常确定Date对象可以解析人类可读的日期:

var myDate = new Date(dateString);
var tm = {
    tm_sec:  myDate.getSeconds(),
    tm_min:  myDate.getMinutes(),
    tm_hour: myDate.getHours(),
    tm_mday: myDate.getDate(),
    tm_mon:  myDate.getMonth(),
    tm_year: myDate.getFullYear().toString().substring(2),
    tm_wday: myDate.getDay()
};

答案 2 :(得分:0)

另一种方式可以是

var text = 'Sun Feb 06 2011 12:49:55 GMT-0800 (PST)';

var pat=/\w{3}\s\d{2}/;
text = text.substring(4);
text = text.match(pat);

alert(text);

//output: Feb 06