【问题标题】:Get "Day" From This Formatted Timestamp In Javascript从此格式化的 Javascript 时间戳中获取“日”
【发布时间】:2019-10-25 02:18:27
【问题描述】:

我在 Google 表格中使用 Javascript,但无法转换或解析格式化的时间戳,最终将日期提取为数值。

我的代码:

var shopifyTimestamp = "2019-05-18 13:21:17 +0100";

var date = new Date(shopifyTimestamp);

Logger.log(date.getDay());

输出:

[19-06-10 17:40:56:107 BST] NaN

我的目标是从该时间戳中提取日期编号,例如“18”。

但是,它似乎没有转换它。我怀疑我的时间戳不是date() 函数的正确格式,所以它是关于创建一个函数来解析它。

希望你能帮助我! :) 太感谢了。

【问题讨论】:

    标签: javascript timestamp


    【解决方案1】:

    JavaScript 的Date 构造函数支持ISO 8601 date strings。在不使用任何库的情况下,您可以执行以下操作:

    var shopifyTimestamp = "2019-05-18 13:21:17 +0100";
    
    // will produce `2019-05-18T13:21:17+0100`
    var isoDate = shopifyTimestamp.slice(0, 10)
        + 'T' + shopifyTimestamp.slice(11, 19)
        + shopifyTimestamp.slice(20);
    
    var date = new Date(isoDate);
    
    console.log(date.getDate()); // 18

    另请注意,您要查找的是date.getDate(),而不是date.getDay()。后者返回星期的数字日期。

    【讨论】:

      【解决方案2】:

      18 是日期。

      var shopifyTimestamp ="2019-05-18 13:21:17 +0100";
      var date = new Date(shopifyTimestamp);
      
      console.log(date.getDate());

      【讨论】:

        【解决方案3】:

        date 对象有一个类似这样的方法,用于将月份中的日期作为数字 (1-31) 获取。

        date.getDate();
        

        【讨论】:

          猜你喜欢
          • 2016-03-25
          • 1970-01-01
          • 2018-06-15
          • 2018-07-14
          • 1970-01-01
          • 1970-01-01
          • 2016-02-13
          • 2012-03-17
          • 1970-01-01
          相关资源
          最近更新 更多