【发布时间】:2011-02-07 02:15:16
【问题描述】:
给定一个字符串,如:
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
有什么想法吗?
【问题讨论】:
标签: 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
有什么想法吗?
【问题讨论】:
标签: javascript jquery
这里没有任何内置的格式化函数可以使用,你只需要使用 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(' '));
【讨论】:
我认为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()
};
【讨论】:
可以换一种方式
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
【讨论】: