这是我到目前为止所拥有的
<div v-for="product in products">
<div v-if="Date.now() > {{ product.expiry_date }}">Expired</div>
<div v-if="Date.now() < {{ product.expiry_date }}">Valid</div>
</div>
var app = new Vue({
'el': '#myapp',
data: {
products: "",
},
methods: {
allRecords: function(){
axios.get('ajaxfile.php')
.then(function (response) {
app.products = response.data;
})
.catch(function (error) {
console.log(error);
});
},
}
})
我想通过比较数据库中的日期和今天的日期来打印Expired
或Valid
。我不确定if条件的格式,即这部分{{ product.expiry_date }}
是否正确。在if条件下,还有另一种方式可以表示数据库中的日期数据吗?我没有使用该格式的输出,希望对此有所帮助。
答案 0 :(得分:0)
尝试一下:::
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<!DOCTYPE html>
<html>
<head>
<title>How to get current date time in vue js? - ItSolutionStuff.com</title>
</head>
<body>
<div id="app">
<ul id="example-1">
<li v-for="item in items">
{{item.name}} -
<span v-if="Date.now() > new Date(item.date)">Expired</span>
<span v-if="Date.now() < new Date(item.date)">Valid</span>
</li>
</ul>
</div>
</body>
<script type="text/javascript">
new Vue({
el: '#app',
data: {
items: [
{ date: '2006-12-30', name: 'AAA' },
{ date: '2020-12-30', name: 'BBB' }
]
}
});
</script>
</html>
答案 1 :(得分:0)
使用getTime
方法来查找javascript中的差异。
这是示例代码,可应用于您想要的地方。
var date1 = new Date();
var date2 = new Date(2019 - 08 - 03);
if (date1.getTime() < date2.getTime())
document.write("date is valid");
else if (date1.getTime() > date2.getTime())
document.write("date is expired");
else
document.write("date is valid today only");
更新答案
var date1 = new Date();
var date2 = new Date(2019 - 08 - 03);
var result = (date1.getTime() >= date2.getTime())?'expired':'valid';
console.log( result );
在您的情况下仅使用{{ (date1.getTime() >= date2.getTime())?'expired':'valid' }}
。
答案 2 :(得分:0)
您可以具有比较今天的日期和到期日期的函数或标志。
function isExpired(expiryDate) {
return Date.now() < (new Date(expiryDate).getTime());
}
然后从您的模板调用此函数。