【问题标题】:Formatting a date string when the string sits inside another string当字符串位于另一个字符串中时格式化日期字符串
【发布时间】:2010-03-25 18:10:26
【问题描述】:

我正在尝试找出一种方法来使用 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 之类的东西”

我希望它最终是这样的:

“诸如 2010 年 3 月 4 日和 2010 年 3 月 31 日之类的东西等等”

有人知道如何实现这一点吗?

【问题讨论】:

    标签: javascript datetime string


    【解决方案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/ 的示例

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-27
        • 1970-01-01
        • 1970-01-01
        • 2023-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-05
        相关资源
        最近更新 更多