Форматирование строки даты, когда строка находится внутри другой строки - PullRequest
1 голос
/ 25 марта 2010

Я пытаюсь найти способ отформатировать строку даты, которая находится внутри строки, используя javascript.

Строка может быть:

"Привет! С 2010-03-04 00: 00: 00 до 2010-03-31 00: 00: 00.0"

или

"такие вещи, как 2010-03-04 20: 00: 00.0 и 2010-03-31 00: 00: 02.0 бла-бла"

Я бы хотел, чтобы это закончилось как:

"такие вещи, как 4 марта 2010 года и 31 марта 2010 года, бла-бла"

Кто-нибудь знает, как этого можно достичь?

Ответы [ 2 ]

1 голос
/ 25 марта 2010

Если дата всегда будет в этом формате, вы можете заменить ее регулярным выражением:

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/

0 голосов
/ 25 марта 2010

Я бы предложил использовать регулярное выражение , чтобы найти строку даты, предполагая, что вы знаете существующий формат, а затем вы можете заменить его форматированной версией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...