Javascript 当日期字符串位于另一个字符串中时格式化该字符串
我正试图找到一种方法,使用javascript格式化位于字符串内部的日期字符串 字符串可以是: “你好,从2010-03-04 00:00:00.0到2010-03-31 00:00:00.0” 或 “像2010-03-0420:00:00.0和2010-03-3100:00:02.0之类的废话” 我希望它的结局是: “像2010年3月4日和2010年3月31日之类的废话”Javascript 当日期字符串位于另一个字符串中时格式化该字符串,javascript,datetime,string,Javascript,Datetime,String,我正试图找到一种方法,使用javascript格式化位于字符串内部的日期字符串 字符串可以是: “你好,从2010-03-04 00:00:00.0到2010-03-31 00:00:00.0” 或 “像2010-03-0420:00:00.0和2010-03-3100:00:02.0之类的废话” 我希望它的结局是: “像2010年3月4日和2010年3月31日之类的废话” 有人知道如何实现这一点吗?我建议使用a来定位日期字符串,假设您知道现有格式,然后您可以将其替换为格式化版本。我建议使用a来
有人知道如何实现这一点吗?我建议使用a来定位日期字符串,假设您知道现有格式,然后您可以将其替换为格式化版本。我建议使用a来定位日期字符串,假设您知道现有格式,然后,您可以将其替换为格式化版本。如果日期始终为该格式,则可以使用正则表达式替换它:
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();
})
);
示例位于如果日期始终是该格式,则可以使用正则表达式替换它:
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();
})
);
举例