我正在尝试检查我的时间戳和当前时间是否是同一天,但它不起作用。即使日期匹配,它也始终为false。
{% if moment().format("MMMM DD, YYYY") == moment(room_params.timestamp).format("MMMM DD, YYYY") %}
<span class="time-info">{{ moment().format("HH:mm") }}</span>
{% endif %}
# Outputs below
moment().format("MMMM DD, YYYY") # September 16, 2020
moment(room_params.timestamp).format("MMMM DD, YYYY") # September 16, 2020我也尝试过| string()过滤器,但也不起作用。我做错了什么?
发布于 2020-09-17 20:57:53
这是不可能的,因为moment().format("HH:mm")返回一个HTML span元素,如下所示:
<span class="flask-moment" data-timestamp="2015-03-26T10:58:51" data-refresh="False"
style="display: none">2015-03-26T10:58:51</span>我通过创建一个js函数解决了这个问题,当页面加载时,我检查时间戳,并将返回的结果应用于我的span元素。
<span class="time-info">
<script>
document.write(checkDate('{{ room_params.timestamp }}'));
</script>
</span>然后是js:
function checkDate(date) {
var currentDate = moment.utc();
var refDate = moment.utc(date);
var currentDateinDateFormat = currentDate.local().format("MMMM DD, YYYY");
var refDateinDateFormat = refDate.local().format("MMMM DD, YYYY");
var currentDateinYearFormat = currentDate.local().format("YYYY");
var refDateinYearformat = refDate.local().format("YYYY");
if (currentDateinDateFormat == refDateinDateFormat) return refDate.local().format("HH:mm");
if (currentDateinYearFormat == refDateinYearformat) return refDate.local().format("MMM DD");
return refDate.local().format("DD/MM/YYYY");
}https://stackoverflow.com/questions/63927320
复制相似问题