当字符串位于另一个字符串内时格式化日期字符串

时间:2010-03-25 18:10:27

标签: javascript datetime string

我正试图找出一种方法来使用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日的事情等等等等”

有没有人知道如何实现这一目标?

2 个答案:

答案 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();
    })
);

http://jsbin.com/igeti/

的示例

答案 1 :(得分:0)

我建议使用regular expression来查找日期字符串,假设您知道现有格式,然后您可以将其替换为格式化版本。