Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当日期字符串位于另一个字符串中时格式化该字符串_Javascript_Datetime_String - Fatal编程技术网

Javascript 当日期字符串位于另一个字符串中时格式化该字符串

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来

我正试图找到一种方法,使用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来定位日期字符串,假设您知道现有格式,然后,您可以将其替换为格式化版本。

如果日期始终为该格式,则可以使用正则表达式替换它:

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();
    })
);
举例