【发布时间】:2015-01-16 17:40:30
【问题描述】:
我想为事件设置倒计时,所以只有在事件尚未开始的情况下,才会显示事件前几天的倒计时。日期像这样 DD-MM-YYYY 存储在数据库中,所以我使用 Moment.js 转换它们,但我仍然没有得到剩余的天数。这是我的代码
moment.locale('es');
var hoy = moment().format("DD-MM-YYYY");
var finicio = moment("20-01-2015", "DD-MM-YYYY").format("DD-MM-YYYY");
var ffin = moment("19-01-2015", "DD-MM-YYYY").format("DD-MM-YYYY");
$(function () {
if (finicio < hoy) {
$("#estadoevento").text("EXPIRADO");
}
else if (finicio > hoy) {
$("#estadoevento").text("EN ESPERA");
var contador = moment(finicio).diff(moment(hoy));
var espera = moment.duration(contador);
var restante = espera.asDays();
$("#contador").text("FALTAN " + restante + " DÍAS");
}
else {
$("#estadoevento").text("EN ESTE MOMENTO");
}
});
但是我没有得到这些值,我不知道是否必须重新声明我的变量,目前,如果事件已过期、传入或今天,代码只会在 span 标签上显示一条消息,并且可以正常工作。
变量finicio 是包含事件开始日期的变量,所以如果事件在五天开始,我想得到那个数字,我试过了,但它返回一个 0 值。我也在用 jQuery。
contador变量是两个日期的减法,变量espera得到contador的持续时间,最后restante变成天,但是不知道我的代码哪里错了。
【问题讨论】:
标签: javascript jquery date momentjs