flask - 比较矩对象 jinja2
问题描述
我正在尝试检查我的时间戳和当前时间是否是同一天,但它不起作用。即使日期匹配,它也总是错误的。
{% 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()
过滤器,但这也不起作用。我做错了什么?
解决方案
这是不可能的,因为它会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");
}
推荐阅读
- swift - Firebase 读取文档查询的计算?
- google-cloud-shell - 有没有办法安装 Google Cloud Shell Theia 扩展?
- javascript - 如何设置父文件夹名称并获取 Google Drive Api javascript 的上传图像 ID
- reactjs - React Native Stack Navigator 使用状态
- node.js - 由于 nodejs 版本,expo init 无法正常工作
- python - Sqlite3 Python:不能使用“限制”作为列名
- powershell - 如何使用 Visual Studio Code 在 PowerShell 中本地调试队列触发的 Azure 函数?
- sql - 向表中插入重复行时,如何在 PL/SQL 中引发用户定义的异常。?
- java - 您如何在流中使用 PartitioningBy 来找到高于和低于平均值的值?
- api - 从 api 获取数据并显示时出错