2015-07-10 106 views
4

我想要了解Jekyll中兩個日期之間的差異。我怎樣才能做到這一點?獲取Jekyll中兩個日期之間的天差

{% capture currentDate %}{{ site.time | date: '%Y-%m-%d' }}{% endcapture %} 
{{currentDate}} 
{% capture event_date %}{{ entry.date }}{% endcapture %} 
{% if event_date < currentDate %}Yes{% else %}No{% endif %} 

在入門有我的YAML:

--- 
title: ChartLine C3 
type: charts 
description: Chart with round for prisma 
id: c3-1 
date: 2015-07-18 
--- 

回答

2

如果你想要做的是知道,從你的接待事項的日期是否比系統時間之前,那麼你可以使用ISO 8601日期格式並依賴於字典順序。這有點欺騙,但它會適用於您提供的示例。

它來捕捉site.time和你前面的物質(在下面的例子中page.past_datepage.future_date)在ISO 8601的格式,以便在日期這一招工作是很重要的。

--- 
layout: default 
past_date: 2015-03-02 
future_date: 2016-03-02 
--- 

{% capture currentDate %}{{ site.time | date: '%F' }}{% endcapture %} 
{% capture pastDate %}{{ page.past_date | date: '%F' }}{% endcapture %} 
{% capture futureDate %}{{ page.future_date | date: '%F' }}{% endcapture %} 
<br>currentDate: {{currentDate}} 
<br>PastDate earlier than currentDate? {% if pastDate < currentDate %}Yes{% else %}No{% endif %} 
<br>FutureDate earlier than currentDate? {% if futureDate < currentDate %}Yes{% else %}No{% endif %} 

給我下面的輸出:不是的currentdate早2015年7月12日

PastDate:

的currentdate?是

FutureDate早於currentDate嗎?沒有

+1

你好,我不明白爲什麼futureDate是必要的。你能解釋我多一點嗎?我想知道過去10天內創建的頁面。 –

+0

@SilvioS。沒有必要,我只是用它作爲另一個例子來表明比較是有效的。 ;) –

4

沒有人真的回答了這個問題,但這不是不可能的。

你可以得到歲之間的區別,說了多少年過去了,因爲2000年將是:

{{ site.time | date: '%Y' | minus:2000 }} 

至於兩個日期之間的天,這是很難..最好的辦法是看插件: https://github.com/markets/jekyll-timeago

它的輸出可能是一個有點冗長,雖然,但你可以修改插件本身(必須通過代碼一看,這不是太複雜)

3

在液體做到這一點的方式(哲基爾的模板引擎)是愚蠢的:

{% assign today = site.time | date: '%s'  %} 
{% assign start = '20-01-2014 04:00:00' | date: '%s' %} 
{% assign secondsSince = today | minus: start  %} 
{% assign hoursSince = secondsSince | divided_by: 60 | divided_by: 60  %} 
{% assign daysSince = hoursSince | divided_by: 24 %} 

Hours: {{hoursSince}} 
Days: {{daysSince}} 

時間:27780

日:1157

注意,液體的divide_by操作自動四捨五入。

Remainder hours: {{hoursSince | modulo: 24}} 

剩餘時間:12

如果這惹惱你一樣,因爲它讓我生氣,那麼你可以做到這一點,以恢復小數位:

{% assign k = 10 %} 
{% assign divisor = 24 %} 
{% assign modulus = hoursSince | modulo: 24 | times: k | divided_by: divisor %} 
{{daysSince}}.{{modulus}} 

1157。5

k添加更多零以增加更多小數位數。

相關問題