我正试图找出一种方法来使用javascript格式化位于字符串内的日期字符串。
字符串可以是:
“你好,从2010-03-04 00:00:00.0到2010-03-31 00:00:00.0”
或
“像2010-03-04 20:00:00.0和2010-03-31 00:00:02.0 blah blah”
我希望它最终会像:
“2010年3月4日和2010年3月31日的事情等等等等”
有没有人知道如何实现这一目标?
答案 0 :(得分:1)
如果日期始终是该格式,您可以使用正则表达式替换它:
var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
str = "hello there From 2010-03-04 00:00:00.0 to 2010-03-31 00:00:00.0";
alert(str.replace(/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2})\:(\d{2}).(\d{1})/g,
function ($0, $1, $2, $3, $4, $5, $6, $7, $8)
{
var date = new Date($1, $2, $3);
return date.getDate() + " " + months[date.getMonth()] + " " + date.getFullYear();
})
);
的示例
答案 1 :(得分:0)
我建议使用regular expression来查找日期字符串,假设您知道现有格式,然后您可以将其替换为格式化版本。