【问题标题】:parse array of dates string in javascript在javascript中解析日期字符串数组
【发布时间】:2021-05-08 22:58:41
【问题描述】:

我有一个由日期和时间组成的日期字符串数组,我想拆分日期时间,因为两者之间有“@”,并将它们组合成一个数组。我开发了下面的脚本,发现我只得到了最后一个日期值。

dates = ['1-12-21 @ 12:31 AM', '1-26-21 @ 09:45 AM', '12-14-20 @ 2:22 PM']
for(var i =0; i<dates.length;i++) {
  var array = new Array();
  array = dates[i].split('@');
  var newDate = new Date(array[0] + " " + array[1]);
  return newDate;}

我得到的最终值是 12-14-20 2:22 PM,而不是日期数组。相反,我想将日期字符串数组获取为日期值。

我是 javascript 新手,所以慢慢赶上东西。

【问题讨论】:

    标签: javascript google-apps-script google-sheets


    【解决方案1】:

    解决方案:

    您可以声明一个空数组并将解析的日期推入其中:

    示例代码:

    function dateParse() {
      var dates = ['1-12-21 @ 12:31 AM', '1-26-21 @ 09:45 AM', '12-14-20 @ 2:22 PM'];
      var newDate = [];
      for(var i =0; i<dates.length;i++) {
        var array = new Array();
        array = dates[i].split('@');
        newDate.push(new Date(array[0] + " " + array[1]));
      }
      return newDate;
    }
    

    结果:

    参考:

    Array.prototype.push()

    【讨论】:

      【解决方案2】:

      通过返回声明,我假设这段代码在函数内

      如果你把return语句放在for里面,它将退出返回newDate值。

      将返回值放在 for 语句之外,并将日期压入数组中

      function getDates()
      {
        dates = ['1-12-21 @ 12:31 AM', '1-26-21 @ 09:45 AM', '12-14-20 @ 2:22 PM']
        var datesArray= new Array();
        for(var i =0; i<dates.length;i++) {
           var array = new Array();
           array = dates[i].split('@');
           var newDate = new Date(array[0] + " " + array[1]);
           datesArray.push(newDate)
        
        }
        return datesArray;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-02
        • 2011-06-08
        相关资源
        最近更新 更多