修剪包含日期选择器时间的字符串

时间:2015-09-22 19:07:15

标签: javascript regex angularjs date

我使用角度UI日期选择器来获取日期。我将日期保存到字符串变量中。问题是我希望以非常特定的格式修剪日期。我不知道正则表达式,我认为在javascript中这是正确的方法吗?有人可以告诉我正则表达式,我可以在一个函数中编写,该函数将仅使用本机javascript修改输入到特定输出。 例如 输入:

  

周四巴基斯坦标准时间周五20-2-2015 00:00:00 GMT(+5:00)。

输出应为:

  

20-2-2015 00:00:00。

非常感谢!

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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);
相关问题