如何使用时刻获取日期?

时间:2016-03-17 05:45:59

标签: javascript jquery momentjs

我在这个形式的“p + 2”,“p + 1”或“p-1”,“p-2”中获得字符串.P重复当前日期或今天的日期。我想在看到之后添加几天字符串。如果“p + 2”那么我需要添加两天。如果字符串是“p-1”我需要减去一天吗?我们可以使用时刻库​​。

我尝试这样但是要获得完美的结果?它通过案例一..但案件2失败..为什么? http://codepen.io/anon/pen/RaKKVw

var case1="p+1";
//or
var case2="p-1";

//or
var case3="p";

    function getValue(str){
      var formatedDate;
      if(str.indexOf('+')!==-1){
        var i=str.indexOf('+');
       formatedDate= moment().add(str.substring(i,str.length), 'days')
      }else if(str.indexOf('-')!==-1){
           var i=str.indexOf('-');
        formatedDate= moment().subtract(str.substring(i,str.length), 'days')
      }
      return formatedDate;
    }

    alert(getValue(case2));

2 个答案:

答案 0 :(得分:0)

您可以使用像

这样的添加方法



function getDate(string) {
  return moment().startOf('day').add(+string.substring(1) || 0, 'day').format('DD-MM-YYYY');
}

snippet.log(getDate('p'))
snippet.log(getDate('p+1'))
snippet.log(getDate('p-1'))

<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.12.0/moment.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您应该使用str.substring(i+1,str.length)代替str.substring(i,str.length)