首页 > 解决方案 > Vue中有没有办法将军事时间转换为标准时间

问题描述

我正在使用下面的代码从 JSON API 获取军事时间。

mounted: function(){
    var currentDate = moment().format('YYYY-MM-DD');
    axios.get("https://mysiteurl.com/api/ordersseller=5e1f43c0c69e7&items.arrival="+currentDate)
     .then(response => (this.post = response.data.data));
},

data(){
    return{
      post: []
   }
}


// the time value that I receive through that API is 1500, 1600 and 1700 

这是显示上述时间的模板视图。

<div v-for="item in post.items" v-bind:key="item.arrival">
    {{item.arrivalTime}}
</div>

如何将1500、1600和 1700 等军事时间值转换为标准时间,以便它们在Vue.js中打印为 03:00 PM、04:00 PM 和 05:00 PM ?

标签: javascriptvue.jsmomentjsbootstrap-vue

解决方案


您可以进一步转换检索到的列表中的项目值

mounted: function(){
    var currentDate = moment().format('YYYY-MM-DD');
    axios.get("https://mysiteurl.com/api/ordersseller=5e1f43c0c69e7&items.arrival="+currentDate)
     .then(response => {
      this.post = response.data.data.map(pr => ({
      ...pr,
      arrivalTime: moment(pr.arrivalTime, "HHmm").format("hh:mm A")
      })
}
);
},

data(){
    return{
      post: []
   }
}

推荐阅读