我试图使用 adx studio 液体模板获取两个日期之间的天差,我当前的代码是
{%assign expirydate = bh_expirydate | 日期:'MM/dd/yyyy' %} {%assign datenow = now | 日期:'MM/dd/yyyy'%}
{%assign diffdays = 到期日 | 减号:datenow %} 我知道这行代码行不通,但逻辑是这样的。我似乎可以找到合适的例子。有人可以对此有所了解吗?
我试图使用 adx studio 液体模板获取两个日期之间的天差,我当前的代码是
{%assign expirydate = bh_expirydate | 日期:'MM/dd/yyyy' %} {%assign datenow = now | 日期:'MM/dd/yyyy'%}
{%assign diffdays = 到期日 | 减号:datenow %} 我知道这行代码行不通,但逻辑是这样的。我似乎可以找到合适的例子。有人可以对此有所了解吗?
在第一个分配中,我们使用当前时间并减去出生日期。这将产生一个时间跨度。将其转换为字符串并拆分以获取第一个数组元素中的天数。第二个分配将采用第一个字符串元素和天数并将其转换为整数。显示将除以 365 以给出自 dob 以来的年份。
{% if item.dob %}
{% assign words = now | minus: item.dob | string | split: '.' %}
{% assign days = words.first | integer %}
{{ days | divided_by: 365 }}
{% endif %}
不知道如果没有 javascript,你将如何做到这一点,但这是我的解决方案,假设bh_expirydate存在:
Days till expiry: <span id="expiryDays"></span>
<script>
Date.daysBetween = function( date1, date2 ) {
//Get 1 day in milliseconds
var one_day=1000*60*60*24;
// Convert both dates to milliseconds
var date1_ms = date1.getTime();
var date2_ms = date2.getTime();
// Calculate the difference in milliseconds
var difference_ms = date2_ms - date1_ms;
// Convert back to days and return
return Math.round(difference_ms/one_day);
}
var dt1 = new Date();
var dt2 = new Date('{{ bh_expirydate| date: "yyyy/MM/dd" }}');
$('#expiryDays').text(Date.daysBetween(dt1, dt2));
</script>