当前位置: 首页 > 知识库问答 >
问题:

Vue JS时隙生成器如何从对象中获取值并显示PM/AM

祁鸿晖
2023-03-14

我使用time-slots-generator包,为了显示从0:15到24:00的时间,问题是这个包不提供显示AM/PM的能力,我将不得不手动操作

为此,我从stackoverflow中获取了一些示例代码,然后对其进行了一点修改,得到了以下结果

  let hours = 23;
  let minutes = 32;
  let ampm = hours >= 12 ? 'pm' : 'am';
  hours = hours % 12;
  hours = hours ? hours : 12; // the hour '0' should be '12'
  minutes = minutes < 10 ? '0'+minutes : minutes;
  const strTime = hours + ':' + minutes + ' ' + ampm;
  console.log(strTime)

例如,如果您将hours的值更改为17,并将变量minute更改为25,那么您将得到17:25 pm。我认为这个函数的逻辑对您来说很清楚,它检查该值并显示AM或pm

现在我需要把这个逻辑和我的时间生成器联系起来,现在我正在使用一个循环来显示从0:15到24:00的时间,正如我前面提到的,这个循环看起来像这样

  data() {
    return {
      timeSlots: (ts.getTimeSlots([], true, "quarter")),
    }
  },

formatAMPM() {
  let val = Object.values(this.timeSlots);
    for (let prop in val) {
     console.log( val[prop]);
  }
}

通过这个循环,我得到以下结果

正如您已经理解的,现在我需要这样做,以便时间显示为AM或PM,也许您可以提供一个更简单的解决方案来解决这个问题,我将很高兴收到每一个建议,您可以在codesandbox中看到这个示例

共有1个答案

邢高澹
2023-03-14

对于日期,我推荐一个更健壮、更灵活的解决方案。使用date-fns'格式

您可以在这里找到一个示例:https://github.com/date-fns/date-fns/issues/946#issuecomment-452766765

但是使用类似格式(new Date(),“hh:mmaaaaa'm'”)应该足够好,并且在其之上具有灵活性。此外,与Momentjs不同的是,这个lib进行了优化,并且完成了很好的工作。

 类似资料:
  • 我是Javascript新手,我正试图从包含多个对象的数组中获取id键的值。 通过 for..在循环中,我需要对象的id - 如1,2或3 - 与不同的值进行比较。 我试着这样做: 但是,我这样做了,删除Id值返回未定义。 我想不通为什么返回未定义,我无法解决这个问题。 我希望我能很好地表达自己,对不起我的英语不好。

  • 我对这些字段有以下要求: 付款(类型付款)- 令牌(字符串) 类型(字符串) cvv(字符串) 我试图通过访问字段令牌,但我真的不知道如何使其工作。我发现了一些与反射相关的东西,但我真的不知道它是如何工作的。 我已经尝试了类似的东西,但我仍然不知道如何获取这个字符串“令牌”:

  • 我有一个php对象,我想从中获取一些值 这就是我所拥有的: 如何获得变量中title的值?

  • 问题内容: 我有一个以前被保留的实体,并且与另一个实体有关系。为了添加新实体,我只需将新实体添加到托管对象中,并用于保留更改。有没有一种方法可以获取新创建的对象的ID或获取我用于合并以更新其ID的原始(非托管)对象? 在伪代码中,我希望发生以下情况: 将为合并实体返回新副本 旧副本将针对新实体进行更新 示例:父级A,id = 13子级B,id = 0 从本质上讲,我想在父级上发布a ,但在子级上级

  • 我有一个对象数组,如下所示: 我想把它添加到一个退出的对象中,其中id是该对象的一个键,如下所示:

  • 问题内容: 我在下面的对象中尝试获取所有id值。 使用以下代码,我仅获得第一个id值。有没有办法从嵌套对象中获取所有id值,而无需使用任何外部模块。 预期产量 问题答案: 您可以使用如下所示的JavaScript函数来获取嵌套属性: 检查此小提琴以获取可行的解决方案。