我有以下JSON字符串,我想从中提取日期和时间:
{ "id": 1, "time": { "date": "2019-06-12 11:51:22.000000", "timezone_type": 3, "timezone": "UTC" }, "productCategory": "some cat", "kitchen": { "house": { "id": 555, "name": "bigHouse" }, "id": 55, "name": "smallKitchen", "country": "US" } }
我现在这样做:
<tr v-for="(cabinet, i) in cabinets">
<td>{{ cabinet.kitchen.id }}</td>
<td>{{ cabinet.productCategory }}</td>
<td>{{ getDate(cabinet.time.date) }}</td>
<td>{{ getTime(cabinet.time.date) }}</td>
</tr>
<script>
const axios = require('axios');
export default {
name: "Cabinets",
data() {
return {
bedroom : this.$session.get('bedroom').id,
cabinets: []
}
},
mounted() {
axios({
method: 'GET',
url: `/bedroom/${this.bedroom}/cabinets`
})
.then(response => {
this.cabinets = response.data
})
},
methods: {
getDate(datetime) {
return new Date(datetime).toISOString().slice(0,10);
},
getTime(datetime) {
return new Date(datetime).toISOString().slice(11,19);
}
}
}
</script>
日期工作正常,但时间却不行。日期和时间分别调整为:2019-06-12
和09:51:22
。时间应该已经过去了11:51:22
。这可能是因为我Date()
在尝试获取时间时正在使用该方法,但是当我尝试使用Time()
它时却出现了错误:
[Vue警告]:渲染错误:“ ReferenceError:未定义时间”。
但是,即使我当时能找到一个非常简单的修复方法,也真的不喜欢这种切片方法,并且正在寻找为我做这件事的方法,因为如您所见,切片字符串已经出现了故障。
您收到该错误的原因是因为JavaScript中没有Time对象。
Date的方法更强大toLocaleTimeString()
。你可以在你的getTime()方法使用它:new Date(dateTime).toLocaleTimeString()
。
请注意,toLocaleTimeString()将显示由用户计算机的区域性指定的时间。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句