обрезать строку, содержащую время от выбора даты

0

Я использую угловой набор времени для выбора даты, чтобы получить дату. Я сохраняю дату в строковой переменной. Проблема в том, что я хочу, чтобы дата была отрезана в очень конкретном формате. Я не знаю регулярное выражение, и я думаю, что это правильный способ сделать это в javascript? Может ли кто-нибудь сказать мне регулярное выражение, которое я могу написать в функции, которая будет обрезать входные данные на конкретный вывод, используя только собственный javascript. например, вход:

Четверг sep 20-2-2015 00:00:00 GMT (+5: 00) Пакистанское стандартное время.

Выход должен быть:

20-2-2015 00:00:00.

Большое спасибо!

  • 0
    Я думаю, вам не нужно регулярное выражение для этого, вы попытались взглянуть на это: stackoverflow.com/questions/3552461/…
  • 0
    В примере используется метод getDate, который, я считаю, получает только текущую дату? А что если я выбрал дату случайным образом с помощью выбора даты, то я не думаю, что это сработает? Также он не отвечает о времени, которое я тоже хочу. Или, может быть, я что-то пропустил по этой ссылке?
Теги:
date

2 ответа

1

Это должно дать вам то, что вы хотите:

var date = "Thursday sep 20-2-2015 00:00:00 GMT (+5:00) Pakistan Standard Time";
var expectedDate = date.match(/\d{1,2}-\d{1,2}-\d{4}\s\d{2}:\d{2}:\d{2}/g);
  • 0
    Большое спасибо!! Если это не проблема, не могли бы вы объяснить, что делает выражение? Я имею в виду, как это обрезка? Благодарю.
  • 0
    @AhsanAbbas, здесь мы не урезаем. Мы находим соответствие с нашим выражением. \d для цифр [0-9] . \d{1,2} говорит, что встречаются цифры, минимум 1, максимум 2. Тогда у вас есть - символы, как в строке. \s для пробелов. \d{4} говорит, соответствует ровно 4 случаям. И, наконец, /g для глобального сопоставления.
1
<html>
  <body>
    <script language=javascript>
      var txt='Thursday sep 20-2-2015 00:00:00 GMT (+5:00) Pakistan Standard Time';

      var re1='.*?';  // Non-greedy match on filler
      var re2='(20-2-2015)';  // DDMMYYYY 1
      var re3='(\\s+)'; // White Space 1
      var re4='(00:00:00)'; // HourMinuteSec 1

      var p = new RegExp(re1+re2+re3+re4,["i"]);
      var m = p.exec(txt);
      if (m != null)
      {
          var ddmmyyyy1=m[1];
          var ws1=m[2];
          var time1=m[3];
          document.write("("+ddmmyyyy1.replace(/</,"&lt;")+")"+"("+ws1.replace(/</,"&lt;")+")"+"("+time1.replace(/</,"&lt;")+")"+"\n");
      }
    </script>
  </body>
</html>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню